]> Cypherpunks.ru repositories - gostls13.git/blob - src/cmd/compile/internal/ssa/opGen.go
cmd/compile/internal/ssa: on PPC64, merge (CMPconst [0] (op ...)) more aggressively
[gostls13.git] / src / cmd / compile / internal / ssa / opGen.go
1 // Code generated from _gen/*Ops.go using 'go generate'; DO NOT EDIT.
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3244                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3245                         },
3246                         outputs: []outputInfo{
3247                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3260                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3261                         },
3262                         outputs: []outputInfo{
3263                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3275                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3276                         },
3277                         outputs: []outputInfo{
3278                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3290                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3291                         },
3292                         outputs: []outputInfo{
3293                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3306                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3307                         },
3308                         outputs: []outputInfo{
3309                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3322                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3323                         },
3324                         outputs: []outputInfo{
3325                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3337                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3338                         },
3339                         outputs: []outputInfo{
3340                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3352                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3353                         },
3354                         outputs: []outputInfo{
3355                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // AX CX DX BX SP BP SI DI SB
3369                         },
3370                         outputs: []outputInfo{
3371                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // AX CX DX BX SP BP SI DI SB
3385                         },
3386                         outputs: []outputInfo{
3387                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
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},   // AX CX DX BX SP BP SI DI
3424                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
3425                         },
3426                         outputs: []outputInfo{
3427                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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},   // AX CX DX BX SP BP SI DI
3440                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
3441                         },
3442                         outputs: []outputInfo{
3443                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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},   // AX CX DX BX SP BP SI DI
3456                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
3457                         },
3458                         outputs: []outputInfo{
3459                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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},   // AX CX DX BX SP BP SI DI
3472                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
3473                         },
3474                         outputs: []outputInfo{
3475                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3489                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3503                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
3516                                 {2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3517                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
3530                                 {2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3531                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
3544                                 {2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3545                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
3558                                 {2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3559                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3574                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3575                         },
3576                         outputs: []outputInfo{
3577                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3592                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3593                         },
3594                         outputs: []outputInfo{
3595                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3610                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3611                         },
3612                         outputs: []outputInfo{
3613                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3628                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3629                         },
3630                         outputs: []outputInfo{
3631                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3646                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3647                         },
3648                         outputs: []outputInfo{
3649                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3664                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3665                         },
3666                         outputs: []outputInfo{
3667                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3682                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3683                         },
3684                         outputs: []outputInfo{
3685                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
3700                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
3701                         },
3702                         outputs: []outputInfo{
3703                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // AX CX DX BX BP SI DI
3716                                 {0, 255}, // AX CX DX BX SP BP SI DI
3717                         },
3718                         outputs: []outputInfo{
3719                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI
3732                         },
3733                         outputs: []outputInfo{
3734                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3747                                 {1, 239}, // AX CX DX BX BP SI DI
3748                         },
3749                         outputs: []outputInfo{
3750                                 {1, 0},
3751                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3764                         },
3765                         outputs: []outputInfo{
3766                                 {1, 0},
3767                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3781                                 {1, 239}, // AX CX DX BX BP SI DI
3782                         },
3783                         outputs: []outputInfo{
3784                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3798                         },
3799                         outputs: []outputInfo{
3800                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3813                                 {1, 239}, // AX CX DX BX BP SI DI
3814                         },
3815                         outputs: []outputInfo{
3816                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3830                         },
3831                         outputs: []outputInfo{
3832                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3844                                 {1, 239}, // AX CX DX BX BP SI DI
3845                         },
3846                         outputs: []outputInfo{
3847                                 {1, 0},
3848                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3861                         },
3862                         outputs: []outputInfo{
3863                                 {1, 0},
3864                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3877                                 {1, 239}, // AX CX DX BX BP SI DI
3878                         },
3879                         outputs: []outputInfo{
3880                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3894                         },
3895                         outputs: []outputInfo{
3896                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3910                                 {1, 239}, // AX CX DX BX BP SI DI
3911                         },
3912                         outputs: []outputInfo{
3913                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
3926                         },
3927                         outputs: []outputInfo{
3928                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX
3941                                 {1, 255}, // AX CX DX BX SP BP SI DI
3942                         },
3943                         clobbers: 4, // DX
3944                         outputs: []outputInfo{
3945                                 {1, 0},
3946                                 {0, 1}, // AX
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},   // AX
3959                                 {1, 255}, // AX CX DX BX SP BP SI DI
3960                         },
3961                         clobbers: 1, // AX
3962                         outputs: []outputInfo{
3963                                 {0, 4}, // DX
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},   // AX
3976                                 {1, 255}, // AX CX DX BX SP BP SI DI
3977                         },
3978                         clobbers: 1, // AX
3979                         outputs: []outputInfo{
3980                                 {0, 4}, // DX
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},   // AX
3993                                 {1, 255}, // AX CX DX BX SP BP SI DI
3994                         },
3995                         outputs: []outputInfo{
3996                                 {0, 4}, // DX
3997                                 {1, 1}, // AX
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}, // AX CX DX BX BP SI DI
4010                                 {1, 239}, // AX CX DX BX BP SI DI
4011                         },
4012                         outputs: []outputInfo{
4013                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX
4026                                 {1, 251}, // AX CX BX SP BP SI DI
4027                         },
4028                         clobbers: 4, // DX
4029                         outputs: []outputInfo{
4030                                 {0, 1}, // AX
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},   // AX
4043                                 {1, 251}, // AX CX BX SP BP SI DI
4044                         },
4045                         clobbers: 4, // DX
4046                         outputs: []outputInfo{
4047                                 {0, 1}, // AX
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},   // AX
4059                                 {1, 251}, // AX CX BX SP BP SI DI
4060                         },
4061                         clobbers: 4, // DX
4062                         outputs: []outputInfo{
4063                                 {0, 1}, // AX
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},   // AX
4075                                 {1, 251}, // AX CX BX SP BP SI DI
4076                         },
4077                         clobbers: 4, // DX
4078                         outputs: []outputInfo{
4079                                 {0, 1}, // AX
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},   // AX
4092                                 {1, 251}, // AX CX BX SP BP SI DI
4093                         },
4094                         clobbers: 1, // AX
4095                         outputs: []outputInfo{
4096                                 {0, 4}, // DX
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},   // AX
4109                                 {1, 251}, // AX CX BX SP BP SI DI
4110                         },
4111                         clobbers: 1, // AX
4112                         outputs: []outputInfo{
4113                                 {0, 4}, // DX
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},   // AX
4125                                 {1, 251}, // AX CX BX SP BP SI DI
4126                         },
4127                         clobbers: 1, // AX
4128                         outputs: []outputInfo{
4129                                 {0, 4}, // DX
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},   // AX
4141                                 {1, 251}, // AX CX BX SP BP SI DI
4142                         },
4143                         clobbers: 1, // AX
4144                         outputs: []outputInfo{
4145                                 {0, 4}, // DX
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}, // AX CX DX BX BP SI DI
4159                                 {1, 239}, // AX CX DX BX BP SI DI
4160                         },
4161                         outputs: []outputInfo{
4162                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4176                         },
4177                         outputs: []outputInfo{
4178                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4192                                 {1, 239}, // AX CX DX BX BP SI DI
4193                         },
4194                         outputs: []outputInfo{
4195                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4209                         },
4210                         outputs: []outputInfo{
4211                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4225                                 {1, 239}, // AX CX DX BX BP SI DI
4226                         },
4227                         outputs: []outputInfo{
4228                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4242                         },
4243                         outputs: []outputInfo{
4244                                 {0, 239}, // AX CX DX BX BP SI DI
4245                         },
4246                 },
4247         },
4248         {
4249                 name:   "CMPL",
4250                 argLen: 2,
4251                 asm:    x86.ACMPL,
4252                 reg: regInfo{
4253                         inputs: []inputInfo{
4254                                 {0, 255}, // AX CX DX BX SP BP SI DI
4255                                 {1, 255}, // AX CX DX BX SP BP SI DI
4256                         },
4257                 },
4258         },
4259         {
4260                 name:   "CMPW",
4261                 argLen: 2,
4262                 asm:    x86.ACMPW,
4263                 reg: regInfo{
4264                         inputs: []inputInfo{
4265                                 {0, 255}, // AX CX DX BX SP BP SI DI
4266                                 {1, 255}, // AX CX DX BX SP BP SI DI
4267                         },
4268                 },
4269         },
4270         {
4271                 name:   "CMPB",
4272                 argLen: 2,
4273                 asm:    x86.ACMPB,
4274                 reg: regInfo{
4275                         inputs: []inputInfo{
4276                                 {0, 255}, // AX CX DX BX SP BP SI DI
4277                                 {1, 255}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
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},   // AX CX DX BX SP BP SI DI
4324                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
4338                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
4352                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
4392                         },
4393                 },
4394         },
4395         {
4396                 name:   "UCOMISS",
4397                 argLen: 2,
4398                 asm:    x86.AUCOMISS,
4399                 reg: regInfo{
4400                         inputs: []inputInfo{
4401                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4402                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4403                         },
4404                 },
4405         },
4406         {
4407                 name:   "UCOMISD",
4408                 argLen: 2,
4409                 asm:    x86.AUCOMISD,
4410                 reg: regInfo{
4411                         inputs: []inputInfo{
4412                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4413                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // AX CX DX BX SP BP SI DI
4425                                 {1, 255}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
4437                                 {1, 255}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
4449                                 {1, 255}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
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}, // AX CX DX BX SP BP SI DI
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},   // CX
4495                                 {0, 239}, // AX CX DX BX BP SI DI
4496                         },
4497                         outputs: []outputInfo{
4498                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4512                         },
4513                         outputs: []outputInfo{
4514                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4527                                 {0, 239}, // AX CX DX BX BP SI DI
4528                         },
4529                         outputs: []outputInfo{
4530                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4543                                 {0, 239}, // AX CX DX BX BP SI DI
4544                         },
4545                         outputs: []outputInfo{
4546                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4559                                 {0, 239}, // AX CX DX BX BP SI DI
4560                         },
4561                         outputs: []outputInfo{
4562                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4576                         },
4577                         outputs: []outputInfo{
4578                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4592                         },
4593                         outputs: []outputInfo{
4594                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4608                         },
4609                         outputs: []outputInfo{
4610                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4623                                 {0, 239}, // AX CX DX BX BP SI DI
4624                         },
4625                         outputs: []outputInfo{
4626                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4639                                 {0, 239}, // AX CX DX BX BP SI DI
4640                         },
4641                         outputs: []outputInfo{
4642                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4655                                 {0, 239}, // AX CX DX BX BP SI DI
4656                         },
4657                         outputs: []outputInfo{
4658                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4672                         },
4673                         outputs: []outputInfo{
4674                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4688                         },
4689                         outputs: []outputInfo{
4690                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4704                         },
4705                         outputs: []outputInfo{
4706                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4719                                 {0, 239}, // AX CX DX BX BP SI DI
4720                         },
4721                         outputs: []outputInfo{
4722                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4735                                 {0, 239}, // AX CX DX BX BP SI DI
4736                         },
4737                         outputs: []outputInfo{
4738                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // CX
4751                                 {0, 239}, // AX CX DX BX BP SI DI
4752                         },
4753                         outputs: []outputInfo{
4754                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4768                         },
4769                         outputs: []outputInfo{
4770                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4784                         },
4785                         outputs: []outputInfo{
4786                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
4800                         },
4801                         outputs: []outputInfo{
4802                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4818                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4819                         },
4820                         outputs: []outputInfo{
4821                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4837                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4838                         },
4839                         outputs: []outputInfo{
4840                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4856                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4857                         },
4858                         outputs: []outputInfo{
4859                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4875                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4876                         },
4877                         outputs: []outputInfo{
4878                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4894                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4895                         },
4896                         outputs: []outputInfo{
4897                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4913                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4914                         },
4915                         outputs: []outputInfo{
4916                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4931                                 {2, 255},   // AX CX DX BX SP BP SI DI
4932                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4933                         },
4934                         outputs: []outputInfo{
4935                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4950                                 {2, 255},   // AX CX DX BX SP BP SI DI
4951                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4952                         },
4953                         outputs: []outputInfo{
4954                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4969                                 {2, 255},   // AX CX DX BX SP BP SI DI
4970                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4971                         },
4972                         outputs: []outputInfo{
4973                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
4988                                 {2, 255},   // AX CX DX BX SP BP SI DI
4989                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
4990                         },
4991                         outputs: []outputInfo{
4992                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
5007                                 {2, 255},   // AX CX DX BX SP BP SI DI
5008                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
5009                         },
5010                         outputs: []outputInfo{
5011                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX BP SI DI
5026                                 {2, 255},   // AX CX DX BX SP BP SI DI
5027                                 {1, 65791}, // AX CX DX BX SP BP SI DI SB
5028                         },
5029                         outputs: []outputInfo{
5030                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5043                         },
5044                         outputs: []outputInfo{
5045                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5057                         },
5058                         outputs: []outputInfo{
5059                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5071                         },
5072                         outputs: []outputInfo{
5073                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5085                         },
5086                         outputs: []outputInfo{
5087                                 {0, 239}, // AX CX DX BX BP SI DI
5088                         },
5089                 },
5090         },
5091         {
5092                 name:         "LoweredCtz32",
5093                 argLen:       1,
5094                 clobberFlags: true,
5095                 reg: regInfo{
5096                         inputs: []inputInfo{
5097                                 {0, 239}, // AX CX DX BX BP SI DI
5098                         },
5099                         outputs: []outputInfo{
5100                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5112                         },
5113                         outputs: []outputInfo{
5114                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5126                         },
5127                         outputs: []outputInfo{
5128                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5140                         },
5141                         outputs: []outputInfo{
5142                                 {0, 239}, // AX CX DX BX BP SI DI
5143                         },
5144                 },
5145         },
5146         {
5147                 name:   "SQRTSD",
5148                 argLen: 1,
5149                 asm:    x86.ASQRTSD,
5150                 reg: regInfo{
5151                         inputs: []inputInfo{
5152                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5153                         },
5154                         outputs: []outputInfo{
5155                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5156                         },
5157                 },
5158         },
5159         {
5160                 name:   "SQRTSS",
5161                 argLen: 1,
5162                 asm:    x86.ASQRTSS,
5163                 reg: regInfo{
5164                         inputs: []inputInfo{
5165                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5166                         },
5167                         outputs: []outputInfo{
5168                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5169                         },
5170                 },
5171         },
5172         {
5173                 name:   "SBBLcarrymask",
5174                 argLen: 1,
5175                 asm:    x86.ASBBL,
5176                 reg: regInfo{
5177                         outputs: []outputInfo{
5178                                 {0, 239}, // AX CX DX BX BP SI DI
5179                         },
5180                 },
5181         },
5182         {
5183                 name:   "SETEQ",
5184                 argLen: 1,
5185                 asm:    x86.ASETEQ,
5186                 reg: regInfo{
5187                         outputs: []outputInfo{
5188                                 {0, 239}, // AX CX DX BX BP SI DI
5189                         },
5190                 },
5191         },
5192         {
5193                 name:   "SETNE",
5194                 argLen: 1,
5195                 asm:    x86.ASETNE,
5196                 reg: regInfo{
5197                         outputs: []outputInfo{
5198                                 {0, 239}, // AX CX DX BX BP SI DI
5199                         },
5200                 },
5201         },
5202         {
5203                 name:   "SETL",
5204                 argLen: 1,
5205                 asm:    x86.ASETLT,
5206                 reg: regInfo{
5207                         outputs: []outputInfo{
5208                                 {0, 239}, // AX CX DX BX BP SI DI
5209                         },
5210                 },
5211         },
5212         {
5213                 name:   "SETLE",
5214                 argLen: 1,
5215                 asm:    x86.ASETLE,
5216                 reg: regInfo{
5217                         outputs: []outputInfo{
5218                                 {0, 239}, // AX CX DX BX BP SI DI
5219                         },
5220                 },
5221         },
5222         {
5223                 name:   "SETG",
5224                 argLen: 1,
5225                 asm:    x86.ASETGT,
5226                 reg: regInfo{
5227                         outputs: []outputInfo{
5228                                 {0, 239}, // AX CX DX BX BP SI DI
5229                         },
5230                 },
5231         },
5232         {
5233                 name:   "SETGE",
5234                 argLen: 1,
5235                 asm:    x86.ASETGE,
5236                 reg: regInfo{
5237                         outputs: []outputInfo{
5238                                 {0, 239}, // AX CX DX BX BP SI DI
5239                         },
5240                 },
5241         },
5242         {
5243                 name:   "SETB",
5244                 argLen: 1,
5245                 asm:    x86.ASETCS,
5246                 reg: regInfo{
5247                         outputs: []outputInfo{
5248                                 {0, 239}, // AX CX DX BX BP SI DI
5249                         },
5250                 },
5251         },
5252         {
5253                 name:   "SETBE",
5254                 argLen: 1,
5255                 asm:    x86.ASETLS,
5256                 reg: regInfo{
5257                         outputs: []outputInfo{
5258                                 {0, 239}, // AX CX DX BX BP SI DI
5259                         },
5260                 },
5261         },
5262         {
5263                 name:   "SETA",
5264                 argLen: 1,
5265                 asm:    x86.ASETHI,
5266                 reg: regInfo{
5267                         outputs: []outputInfo{
5268                                 {0, 239}, // AX CX DX BX BP SI DI
5269                         },
5270                 },
5271         },
5272         {
5273                 name:   "SETAE",
5274                 argLen: 1,
5275                 asm:    x86.ASETCC,
5276                 reg: regInfo{
5277                         outputs: []outputInfo{
5278                                 {0, 239}, // AX CX DX BX BP SI DI
5279                         },
5280                 },
5281         },
5282         {
5283                 name:   "SETO",
5284                 argLen: 1,
5285                 asm:    x86.ASETOS,
5286                 reg: regInfo{
5287                         outputs: []outputInfo{
5288                                 {0, 239}, // AX CX DX BX BP SI DI
5289                         },
5290                 },
5291         },
5292         {
5293                 name:         "SETEQF",
5294                 argLen:       1,
5295                 clobberFlags: true,
5296                 asm:          x86.ASETEQ,
5297                 reg: regInfo{
5298                         clobbers: 1, // AX
5299                         outputs: []outputInfo{
5300                                 {0, 238}, // CX DX BX BP SI DI
5301                         },
5302                 },
5303         },
5304         {
5305                 name:         "SETNEF",
5306                 argLen:       1,
5307                 clobberFlags: true,
5308                 asm:          x86.ASETNE,
5309                 reg: regInfo{
5310                         clobbers: 1, // AX
5311                         outputs: []outputInfo{
5312                                 {0, 238}, // CX DX BX BP SI DI
5313                         },
5314                 },
5315         },
5316         {
5317                 name:   "SETORD",
5318                 argLen: 1,
5319                 asm:    x86.ASETPC,
5320                 reg: regInfo{
5321                         outputs: []outputInfo{
5322                                 {0, 239}, // AX CX DX BX BP SI DI
5323                         },
5324                 },
5325         },
5326         {
5327                 name:   "SETNAN",
5328                 argLen: 1,
5329                 asm:    x86.ASETPS,
5330                 reg: regInfo{
5331                         outputs: []outputInfo{
5332                                 {0, 239}, // AX CX DX BX BP SI DI
5333                         },
5334                 },
5335         },
5336         {
5337                 name:   "SETGF",
5338                 argLen: 1,
5339                 asm:    x86.ASETHI,
5340                 reg: regInfo{
5341                         outputs: []outputInfo{
5342                                 {0, 239}, // AX CX DX BX BP SI DI
5343                         },
5344                 },
5345         },
5346         {
5347                 name:   "SETGEF",
5348                 argLen: 1,
5349                 asm:    x86.ASETCC,
5350                 reg: regInfo{
5351                         outputs: []outputInfo{
5352                                 {0, 239}, // AX CX DX BX BP SI DI
5353                         },
5354                 },
5355         },
5356         {
5357                 name:   "MOVBLSX",
5358                 argLen: 1,
5359                 asm:    x86.AMOVBLSX,
5360                 reg: regInfo{
5361                         inputs: []inputInfo{
5362                                 {0, 239}, // AX CX DX BX BP SI DI
5363                         },
5364                         outputs: []outputInfo{
5365                                 {0, 239}, // AX CX DX BX BP SI DI
5366                         },
5367                 },
5368         },
5369         {
5370                 name:   "MOVBLZX",
5371                 argLen: 1,
5372                 asm:    x86.AMOVBLZX,
5373                 reg: regInfo{
5374                         inputs: []inputInfo{
5375                                 {0, 239}, // AX CX DX BX BP SI DI
5376                         },
5377                         outputs: []outputInfo{
5378                                 {0, 239}, // AX CX DX BX BP SI DI
5379                         },
5380                 },
5381         },
5382         {
5383                 name:   "MOVWLSX",
5384                 argLen: 1,
5385                 asm:    x86.AMOVWLSX,
5386                 reg: regInfo{
5387                         inputs: []inputInfo{
5388                                 {0, 239}, // AX CX DX BX BP SI DI
5389                         },
5390                         outputs: []outputInfo{
5391                                 {0, 239}, // AX CX DX BX BP SI DI
5392                         },
5393                 },
5394         },
5395         {
5396                 name:   "MOVWLZX",
5397                 argLen: 1,
5398                 asm:    x86.AMOVWLZX,
5399                 reg: regInfo{
5400                         inputs: []inputInfo{
5401                                 {0, 239}, // AX CX DX BX BP SI DI
5402                         },
5403                         outputs: []outputInfo{
5404                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX BP SI DI
5417                         },
5418                 },
5419         },
5420         {
5421                 name:   "CVTTSD2SL",
5422                 argLen: 1,
5423                 asm:    x86.ACVTTSD2SL,
5424                 reg: regInfo{
5425                         inputs: []inputInfo{
5426                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5427                         },
5428                         outputs: []outputInfo{
5429                                 {0, 239}, // AX CX DX BX BP SI DI
5430                         },
5431                 },
5432         },
5433         {
5434                 name:   "CVTTSS2SL",
5435                 argLen: 1,
5436                 asm:    x86.ACVTTSS2SL,
5437                 reg: regInfo{
5438                         inputs: []inputInfo{
5439                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5440                         },
5441                         outputs: []outputInfo{
5442                                 {0, 239}, // AX CX DX BX BP SI DI
5443                         },
5444                 },
5445         },
5446         {
5447                 name:   "CVTSL2SS",
5448                 argLen: 1,
5449                 asm:    x86.ACVTSL2SS,
5450                 reg: regInfo{
5451                         inputs: []inputInfo{
5452                                 {0, 239}, // AX CX DX BX BP SI DI
5453                         },
5454                         outputs: []outputInfo{
5455                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5456                         },
5457                 },
5458         },
5459         {
5460                 name:   "CVTSL2SD",
5461                 argLen: 1,
5462                 asm:    x86.ACVTSL2SD,
5463                 reg: regInfo{
5464                         inputs: []inputInfo{
5465                                 {0, 239}, // AX CX DX BX BP SI DI
5466                         },
5467                         outputs: []outputInfo{
5468                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5469                         },
5470                 },
5471         },
5472         {
5473                 name:   "CVTSD2SS",
5474                 argLen: 1,
5475                 asm:    x86.ACVTSD2SS,
5476                 reg: regInfo{
5477                         inputs: []inputInfo{
5478                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5479                         },
5480                         outputs: []outputInfo{
5481                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5482                         },
5483                 },
5484         },
5485         {
5486                 name:   "CVTSS2SD",
5487                 argLen: 1,
5488                 asm:    x86.ACVTSS2SD,
5489                 reg: regInfo{
5490                         inputs: []inputInfo{
5491                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5492                         },
5493                         outputs: []outputInfo{
5494                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7
5507                                 {1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5508                         },
5509                         outputs: []outputInfo{
5510                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // AX CX DX BX SP BP SI DI SB
5523                         },
5524                         outputs: []outputInfo{
5525                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
5538                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
5539                         },
5540                         outputs: []outputInfo{
5541                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
5553                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
5554                         },
5555                         outputs: []outputInfo{
5556                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
5568                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
5569                         },
5570                         outputs: []outputInfo{
5571                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
5583                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
5584                         },
5585                         outputs: []outputInfo{
5586                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI SB
5600                         },
5601                         outputs: []outputInfo{
5602                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI SB
5616                         },
5617                         outputs: []outputInfo{
5618                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI SB
5632                         },
5633                         outputs: []outputInfo{
5634                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI SB
5648                         },
5649                         outputs: []outputInfo{
5650                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI SB
5664                         },
5665                         outputs: []outputInfo{
5666                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
5680                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5694                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5708                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5723                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5738                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5753                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5768                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5783                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5797                                 {2, 255},   // AX CX DX BX SP BP SI DI
5798                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5812                                 {2, 255},   // AX CX DX BX SP BP SI DI
5813                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5827                                 {2, 255},   // AX CX DX BX SP BP SI DI
5828                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5842                                 {2, 255},   // AX CX DX BX SP BP SI DI
5843                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5857                                 {2, 255},   // AX CX DX BX SP BP SI DI
5858                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5928                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5942                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5956                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5970                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
5984                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
5985                         },
5986                         outputs: []outputInfo{
5987                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
6001                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
6002                         },
6003                         outputs: []outputInfo{
6004                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
6017                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
6018                         },
6019                         outputs: []outputInfo{
6020                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
6034                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
6035                         },
6036                         outputs: []outputInfo{
6037                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
6050                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
6051                         },
6052                         outputs: []outputInfo{
6053                                 {0, 239}, // AX CX DX BX BP SI DI
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},   // AX CX DX BX SP BP SI DI
6067                                 {2, 255},   // AX CX DX BX SP BP SI DI
6068                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6082                                 {2, 255},   // AX CX DX BX SP BP SI DI
6083                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6096                                 {2, 255},   // AX CX DX BX SP BP SI DI
6097                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6111                                 {2, 255},   // AX CX DX BX SP BP SI DI
6112                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6125                                 {2, 255},   // AX CX DX BX SP BP SI DI
6126                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6178                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6191                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6204                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6217                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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},   // AX CX DX BX SP BP SI DI
6230                                 {0, 65791}, // AX CX DX BX SP BP SI DI SB
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}, // DI
6242                                 {1, 1},   // AX
6243                         },
6244                         clobbers: 130, // CX DI
6245                 },
6246         },
6247         {
6248                 name:           "REPSTOSL",
6249                 argLen:         4,
6250                 faultOnNilArg0: true,
6251                 reg: regInfo{
6252                         inputs: []inputInfo{
6253                                 {0, 128}, // DI
6254                                 {1, 2},   // CX
6255                                 {2, 1},   // AX
6256                         },
6257                         clobbers: 130, // CX DI
6258                 },
6259         },
6260         {
6261                 name:         "CALLstatic",
6262                 auxType:      auxCallOff,
6263                 argLen:       1,
6264                 clobberFlags: true,
6265                 call:         true,
6266                 reg: regInfo{
6267                         clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
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, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
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},   // DX
6290                                 {0, 255}, // AX CX DX BX SP BP SI DI
6291                         },
6292                         clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
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}, // AX CX DX BX BP SI DI
6304                         },
6305                         clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
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}, // DI
6318                                 {1, 64},  // SI
6319                         },
6320                         clobbers: 194, // CX SI DI
6321                 },
6322         },
6323         {
6324                 name:           "REPMOVSL",
6325                 argLen:         4,
6326                 faultOnNilArg0: true,
6327                 faultOnNilArg1: true,
6328                 reg: regInfo{
6329                         inputs: []inputInfo{
6330                                 {0, 128}, // DI
6331                                 {1, 64},  // SI
6332                                 {2, 2},   // CX
6333                         },
6334                         clobbers: 194, // CX SI DI
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}, // AX CX DX BX BP SI DI
6348                         },
6349                 },
6350         },
6351         {
6352                 name:      "LoweredGetClosurePtr",
6353                 argLen:    0,
6354                 zeroWidth: true,
6355                 reg: regInfo{
6356                         outputs: []outputInfo{
6357                                 {0, 4}, // DX
6358                         },
6359                 },
6360         },
6361         {
6362                 name:              "LoweredGetCallerPC",
6363                 argLen:            0,
6364                 rematerializeable: true,
6365                 reg: regInfo{
6366                         outputs: []outputInfo{
6367                                 {0, 239}, // AX CX DX BX BP SI DI
6368                         },
6369                 },
6370         },
6371         {
6372                 name:              "LoweredGetCallerSP",
6373                 argLen:            1,
6374                 rematerializeable: true,
6375                 reg: regInfo{
6376                         outputs: []outputInfo{
6377                                 {0, 239}, // AX CX DX BX BP SI DI
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}, // AX CX DX BX SP BP SI DI
6390                         },
6391                 },
6392         },
6393         {
6394                 name:         "LoweredWB",
6395                 auxType:      auxInt64,
6396                 argLen:       1,
6397                 clobberFlags: true,
6398                 reg: regInfo{
6399                         clobbers: 65280, // X0 X1 X2 X3 X4 X5 X6 X7
6400                         outputs: []outputInfo{
6401                                 {0, 128}, // DI
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}, // DX
6413                                 {1, 8}, // BX
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}, // CX
6425                                 {1, 4}, // DX
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}, // AX
6437                                 {1, 2}, // CX
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}, // SI
6449                                 {1, 4},  // DX
6450                                 {2, 8},  // BX
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}, // SI
6462                                 {1, 2},  // CX
6463                                 {2, 4},  // DX
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}, // SI
6475                                 {1, 1},  // AX
6476                                 {2, 2},  // CX
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}, // AX CX DX BX BP SI DI
6512                         },
6513                 },
6514         },
6515         {
6516                 name:    "MOVSDconst1",
6517                 auxType: auxFloat64,
6518                 argLen:  0,
6519                 reg: regInfo{
6520                         outputs: []outputInfo{
6521                                 {0, 239}, // AX CX DX BX BP SI DI
6522                         },
6523                 },
6524         },
6525         {
6526                 name:   "MOVSSconst2",
6527                 argLen: 1,
6528                 asm:    x86.AMOVSS,
6529                 reg: regInfo{
6530                         inputs: []inputInfo{
6531                                 {0, 239}, // AX CX DX BX BP SI DI
6532                         },
6533                         outputs: []outputInfo{
6534                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
6535                         },
6536                 },
6537         },
6538         {
6539                 name:   "MOVSDconst2",
6540                 argLen: 1,
6541                 asm:    x86.AMOVSD,
6542                 reg: regInfo{
6543                         inputs: []inputInfo{
6544                                 {0, 239}, // AX CX DX BX BP SI DI
6545                         },
6546                         outputs: []outputInfo{
6547                                 {0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6561                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6562                         },
6563                         outputs: []outputInfo{
6564                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6577                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6578                         },
6579                         outputs: []outputInfo{
6580                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6592                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6593                         },
6594                         outputs: []outputInfo{
6595                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6607                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6608                         },
6609                         outputs: []outputInfo{
6610                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6623                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6624                         },
6625                         outputs: []outputInfo{
6626                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6639                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6640                         },
6641                         outputs: []outputInfo{
6642                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6654                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6655                         },
6656                         outputs: []outputInfo{
6657                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6669                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6670                         },
6671                         outputs: []outputInfo{
6672                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6686                         },
6687                         outputs: []outputInfo{
6688                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6702                         },
6703                         outputs: []outputInfo{
6704                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6742                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6743                         },
6744                         outputs: []outputInfo{
6745                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6759                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6760                         },
6761                         outputs: []outputInfo{
6762                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6776                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6777                         },
6778                         outputs: []outputInfo{
6779                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6793                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6794                         },
6795                         outputs: []outputInfo{
6796                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6810                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6824                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6838                                 {2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6839                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6853                                 {2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6854                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6868                                 {2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6869                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6883                                 {2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6884                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6899                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6900                         },
6901                         outputs: []outputInfo{
6902                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6917                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6918                         },
6919                         outputs: []outputInfo{
6920                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6935                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6936                         },
6937                         outputs: []outputInfo{
6938                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6953                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6954                         },
6955                         outputs: []outputInfo{
6956                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6971                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6972                         },
6973                         outputs: []outputInfo{
6974                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6989                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6990                         },
6991                         outputs: []outputInfo{
6992                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7007                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7008                         },
7009                         outputs: []outputInfo{
7010                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7025                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7026                         },
7027                         outputs: []outputInfo{
7028                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7043                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7044                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7045                         },
7046                         outputs: []outputInfo{
7047                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7062                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7063                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7064                         },
7065                         outputs: []outputInfo{
7066                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7081                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7082                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7083                         },
7084                         outputs: []outputInfo{
7085                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7100                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7101                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7102                         },
7103                         outputs: []outputInfo{
7104                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7119                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7120                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7121                         },
7122                         outputs: []outputInfo{
7123                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7138                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7139                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7140                         },
7141                         outputs: []outputInfo{
7142                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7157                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7158                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7159                         },
7160                         outputs: []outputInfo{
7161                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7176                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7177                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7178                         },
7179                         outputs: []outputInfo{
7180                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7195                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7196                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7197                         },
7198                         outputs: []outputInfo{
7199                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7214                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7215                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7216                         },
7217                         outputs: []outputInfo{
7218                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7233                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7234                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7235                         },
7236                         outputs: []outputInfo{
7237                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7252                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7253                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7254                         },
7255                         outputs: []outputInfo{
7256                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7271                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7272                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7273                         },
7274                         outputs: []outputInfo{
7275                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7290                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7291                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7292                         },
7293                         outputs: []outputInfo{
7294                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7309                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7310                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7311                         },
7312                         outputs: []outputInfo{
7313                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7328                                 {2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7329                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7330                         },
7331                         outputs: []outputInfo{
7332                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7345                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7346                         },
7347                         outputs: []outputInfo{
7348                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7361                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7362                         },
7363                         outputs: []outputInfo{
7364                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7377                         },
7378                         outputs: []outputInfo{
7379                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7392                         },
7393                         outputs: []outputInfo{
7394                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7435                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7436                         },
7437                         outputs: []outputInfo{
7438                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7451                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7452                         },
7453                         outputs: []outputInfo{
7454                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7468                         },
7469                         outputs: []outputInfo{
7470                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7484                         },
7485                         outputs: []outputInfo{
7486                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7500                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7501                         },
7502                         outputs: []outputInfo{
7503                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7517                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7518                         },
7519                         outputs: []outputInfo{
7520                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7533                         },
7534                         outputs: []outputInfo{
7535                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7548                         },
7549                         outputs: []outputInfo{
7550                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // AX
7563                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7564                         },
7565                         clobbers: 4, // DX
7566                         outputs: []outputInfo{
7567                                 {1, 0},
7568                                 {0, 1}, // AX
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},     // AX
7581                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7582                         },
7583                         clobbers: 4, // DX
7584                         outputs: []outputInfo{
7585                                 {1, 0},
7586                                 {0, 1}, // AX
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},     // AX
7598                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7599                         },
7600                         clobbers: 1, // AX
7601                         outputs: []outputInfo{
7602                                 {0, 4}, // DX
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},     // AX
7614                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7615                         },
7616                         clobbers: 1, // AX
7617                         outputs: []outputInfo{
7618                                 {0, 4}, // DX
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},     // AX
7630                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7631                         },
7632                         clobbers: 1, // AX
7633                         outputs: []outputInfo{
7634                                 {0, 4}, // DX
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},     // AX
7646                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7647                         },
7648                         clobbers: 1, // AX
7649                         outputs: []outputInfo{
7650                                 {0, 4}, // DX
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7663                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7664                         },
7665                         outputs: []outputInfo{
7666                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // AX
7679                                 {1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7680                         },
7681                         outputs: []outputInfo{
7682                                 {0, 1}, // AX
7683                                 {1, 4}, // DX
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},     // AX
7696                                 {1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7697                         },
7698                         outputs: []outputInfo{
7699                                 {0, 1}, // AX
7700                                 {1, 4}, // DX
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},     // AX
7713                                 {1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7714                         },
7715                         outputs: []outputInfo{
7716                                 {0, 1}, // AX
7717                                 {1, 4}, // DX
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},     // AX
7729                                 {1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7730                         },
7731                         outputs: []outputInfo{
7732                                 {0, 1}, // AX
7733                                 {1, 4}, // DX
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},     // AX
7745                                 {1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7746                         },
7747                         outputs: []outputInfo{
7748                                 {0, 1}, // AX
7749                                 {1, 4}, // DX
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},     // AX
7761                                 {1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7762                         },
7763                         outputs: []outputInfo{
7764                                 {0, 1}, // AX
7765                                 {1, 4}, // DX
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7777                         },
7778                         outputs: []outputInfo{
7779                                 {1, 0},
7780                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7793                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7794                         },
7795                         outputs: []outputInfo{
7796                                 {1, 0},
7797                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7810                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7811                         },
7812                         outputs: []outputInfo{
7813                                 {1, 0},
7814                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7827                         },
7828                         outputs: []outputInfo{
7829                                 {1, 0},
7830                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7843                         },
7844                         outputs: []outputInfo{
7845                                 {1, 0},
7846                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7858                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7859                         },
7860                         outputs: []outputInfo{
7861                                 {1, 0},
7862                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7874                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7875                         },
7876                         outputs: []outputInfo{
7877                                 {1, 0},
7878                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7891                         },
7892                         outputs: []outputInfo{
7893                                 {1, 0},
7894                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7907                         },
7908                         outputs: []outputInfo{
7909                                 {1, 0},
7910                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // AX
7923                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7924                         },
7925                         outputs: []outputInfo{
7926                                 {0, 4}, // DX
7927                                 {1, 1}, // AX
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},     // DX
7939                                 {1, 1},     // AX
7940                                 {2, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7941                         },
7942                         outputs: []outputInfo{
7943                                 {0, 1}, // AX
7944                                 {1, 4}, // DX
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7958                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7959                         },
7960                         outputs: []outputInfo{
7961                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7975                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7976                         },
7977                         outputs: []outputInfo{
7978                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7992                         },
7993                         outputs: []outputInfo{
7994                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8008                         },
8009                         outputs: []outputInfo{
8010                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8052                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8053                         },
8054                         outputs: []outputInfo{
8055                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8069                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8070                         },
8071                         outputs: []outputInfo{
8072                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8086                         },
8087                         outputs: []outputInfo{
8088                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8102                         },
8103                         outputs: []outputInfo{
8104                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8146                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8147                         },
8148                         outputs: []outputInfo{
8149                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8163                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8164                         },
8165                         outputs: []outputInfo{
8166                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8180                         },
8181                         outputs: []outputInfo{
8182                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8196                         },
8197                         outputs: []outputInfo{
8198                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8227                         },
8228                 },
8229         },
8230         {
8231                 name:   "CMPQ",
8232                 argLen: 2,
8233                 asm:    x86.ACMPQ,
8234                 reg: regInfo{
8235                         inputs: []inputInfo{
8236                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8237                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8238                         },
8239                 },
8240         },
8241         {
8242                 name:   "CMPL",
8243                 argLen: 2,
8244                 asm:    x86.ACMPL,
8245                 reg: regInfo{
8246                         inputs: []inputInfo{
8247                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8248                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8249                         },
8250                 },
8251         },
8252         {
8253                 name:   "CMPW",
8254                 argLen: 2,
8255                 asm:    x86.ACMPW,
8256                 reg: regInfo{
8257                         inputs: []inputInfo{
8258                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8259                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8260                         },
8261                 },
8262         },
8263         {
8264                 name:   "CMPB",
8265                 argLen: 2,
8266                 asm:    x86.ACMPB,
8267                 reg: regInfo{
8268                         inputs: []inputInfo{
8269                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8270                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8328                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8342                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8356                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8370                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8436                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8437                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8452                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8453                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8467                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8468                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8483                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8484                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8498                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8499                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8514                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8515                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8530                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8531                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8545                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8560                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8574                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8589                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8603                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8618                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8633                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8634                         },
8635                 },
8636         },
8637         {
8638                 name:   "UCOMISS",
8639                 argLen: 2,
8640                 asm:    x86.AUCOMISS,
8641                 reg: regInfo{
8642                         inputs: []inputInfo{
8643                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8644                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8645                         },
8646                 },
8647         },
8648         {
8649                 name:   "UCOMISD",
8650                 argLen: 2,
8651                 asm:    x86.AUCOMISD,
8652                 reg: regInfo{
8653                         inputs: []inputInfo{
8654                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8655                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8656                         },
8657                 },
8658         },
8659         {
8660                 name:   "BTL",
8661                 argLen: 2,
8662                 asm:    x86.ABTL,
8663                 reg: regInfo{
8664                         inputs: []inputInfo{
8665                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8666                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8667                         },
8668                 },
8669         },
8670         {
8671                 name:   "BTQ",
8672                 argLen: 2,
8673                 asm:    x86.ABTQ,
8674                 reg: regInfo{
8675                         inputs: []inputInfo{
8676                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8677                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8690                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8691                         },
8692                         outputs: []outputInfo{
8693                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8706                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8707                         },
8708                         outputs: []outputInfo{
8709                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8722                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8723                         },
8724                         outputs: []outputInfo{
8725                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8738                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8739                         },
8740                         outputs: []outputInfo{
8741                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8754                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8755                         },
8756                         outputs: []outputInfo{
8757                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8770                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8771                         },
8772                         outputs: []outputInfo{
8773                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8809                         },
8810                         outputs: []outputInfo{
8811                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8825                         },
8826                         outputs: []outputInfo{
8827                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8841                         },
8842                         outputs: []outputInfo{
8843                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8897                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8909                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8921                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8933                                 {1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
8990                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8991                         },
8992                         outputs: []outputInfo{
8993                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9006                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9007                         },
9008                         outputs: []outputInfo{
9009                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9023                         },
9024                         outputs: []outputInfo{
9025                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9039                         },
9040                         outputs: []outputInfo{
9041                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9054                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9055                         },
9056                         outputs: []outputInfo{
9057                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9070                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9071                         },
9072                         outputs: []outputInfo{
9073                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9086                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9087                         },
9088                         outputs: []outputInfo{
9089                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9102                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9103                         },
9104                         outputs: []outputInfo{
9105                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9119                         },
9120                         outputs: []outputInfo{
9121                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9135                         },
9136                         outputs: []outputInfo{
9137                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9151                         },
9152                         outputs: []outputInfo{
9153                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9167                         },
9168                         outputs: []outputInfo{
9169                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9182                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9183                         },
9184                         outputs: []outputInfo{
9185                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9198                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9199                         },
9200                         outputs: []outputInfo{
9201                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9214                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9215                         },
9216                         outputs: []outputInfo{
9217                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9230                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9231                         },
9232                         outputs: []outputInfo{
9233                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9247                         },
9248                         outputs: []outputInfo{
9249                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9263                         },
9264                         outputs: []outputInfo{
9265                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9279                         },
9280                         outputs: []outputInfo{
9281                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9295                         },
9296                         outputs: []outputInfo{
9297                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9310                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9311                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9312                         },
9313                         outputs: []outputInfo{
9314                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9327                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9328                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9329                         },
9330                         outputs: []outputInfo{
9331                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9344                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9345                         },
9346                         outputs: []outputInfo{
9347                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9360                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9361                         },
9362                         outputs: []outputInfo{
9363                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9376                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9377                         },
9378                         outputs: []outputInfo{
9379                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9392                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9393                         },
9394                         outputs: []outputInfo{
9395                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9408                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9409                         },
9410                         outputs: []outputInfo{
9411                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9424                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9425                         },
9426                         outputs: []outputInfo{
9427                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9440                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9441                         },
9442                         outputs: []outputInfo{
9443                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // CX
9456                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9457                         },
9458                         outputs: []outputInfo{
9459                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9473                         },
9474                         outputs: []outputInfo{
9475                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9489                         },
9490                         outputs: []outputInfo{
9491                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9505                         },
9506                         outputs: []outputInfo{
9507                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9521                         },
9522                         outputs: []outputInfo{
9523                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9539                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9540                         },
9541                         outputs: []outputInfo{
9542                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9558                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9559                         },
9560                         outputs: []outputInfo{
9561                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9577                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9578                         },
9579                         outputs: []outputInfo{
9580                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9596                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9597                         },
9598                         outputs: []outputInfo{
9599                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9615                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9616                         },
9617                         outputs: []outputInfo{
9618                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9634                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9635                         },
9636                         outputs: []outputInfo{
9637                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9653                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9654                         },
9655                         outputs: []outputInfo{
9656                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9672                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9673                         },
9674                         outputs: []outputInfo{
9675                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9691                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9692                         },
9693                         outputs: []outputInfo{
9694                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9710                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9711                         },
9712                         outputs: []outputInfo{
9713                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9729                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9730                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9731                         },
9732                         outputs: []outputInfo{
9733                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9749                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9750                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9751                         },
9752                         outputs: []outputInfo{
9753                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9769                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9770                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9771                         },
9772                         outputs: []outputInfo{
9773                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9789                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9790                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9791                         },
9792                         outputs: []outputInfo{
9793                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9809                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9810                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9811                         },
9812                         outputs: []outputInfo{
9813                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9829                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9830                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9831                         },
9832                         outputs: []outputInfo{
9833                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9849                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9850                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9851                         },
9852                         outputs: []outputInfo{
9853                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9869                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9870                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9871                         },
9872                         outputs: []outputInfo{
9873                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9889                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9890                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9891                         },
9892                         outputs: []outputInfo{
9893                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9909                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9910                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9911                         },
9912                         outputs: []outputInfo{
9913                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9929                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9930                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9931                         },
9932                         outputs: []outputInfo{
9933                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9949                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9950                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9951                         },
9952                         outputs: []outputInfo{
9953                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9969                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9970                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9971                         },
9972                         outputs: []outputInfo{
9973                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9989                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9990                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9991                         },
9992                         outputs: []outputInfo{
9993                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10009                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10010                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10011                         },
10012                         outputs: []outputInfo{
10013                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10029                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10030                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10031                         },
10032                         outputs: []outputInfo{
10033                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10049                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10050                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10051                         },
10052                         outputs: []outputInfo{
10053                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10069                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10070                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10071                         },
10072                         outputs: []outputInfo{
10073                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10089                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10090                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10091                         },
10092                         outputs: []outputInfo{
10093                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10109                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10110                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10111                         },
10112                         outputs: []outputInfo{
10113                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10129                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10130                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10131                         },
10132                         outputs: []outputInfo{
10133                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10149                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10150                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10151                         },
10152                         outputs: []outputInfo{
10153                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10169                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10170                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10171                         },
10172                         outputs: []outputInfo{
10173                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10189                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10190                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10191                         },
10192                         outputs: []outputInfo{
10193                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10209                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10210                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10211                         },
10212                         outputs: []outputInfo{
10213                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10228                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10243                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10258                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10273                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10288                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10303                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10318                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10333                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10348                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10363                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10378                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10379                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10394                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10395                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10410                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10411                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10426                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10427                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10442                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10443                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10458                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10459                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10474                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10475                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10490                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10491                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10506                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10507                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10522                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10523                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10538                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10539                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10554                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10555                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10570                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10571                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10586                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10587                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10602                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10603                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10618                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10619                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10634                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10635                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10650                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10651                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10666                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10667                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10682                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10683                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10698                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10699                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10714                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10715                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10730                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10731                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10746                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10747                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10762                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10763                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10778                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10793                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10808                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10823                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10838                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10853                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10868                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10883                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10898                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10913                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10928                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10943                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10958                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10973                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10988                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11003                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11018                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11033                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11048                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11063                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11076                         },
11077                         outputs: []outputInfo{
11078                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11091                         },
11092                         outputs: []outputInfo{
11093                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11105                         },
11106                         outputs: []outputInfo{
11107                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11119                         },
11120                         outputs: []outputInfo{
11121                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11122                         },
11123                 },
11124         },
11125         {
11126                 name:   "BSFQ",
11127                 argLen: 1,
11128                 asm:    x86.ABSFQ,
11129                 reg: regInfo{
11130                         inputs: []inputInfo{
11131                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11132                         },
11133                         outputs: []outputInfo{
11134                                 {1, 0},
11135                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11147                         },
11148                         outputs: []outputInfo{
11149                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11150                         },
11151                 },
11152         },
11153         {
11154                 name:   "BSRQ",
11155                 argLen: 1,
11156                 asm:    x86.ABSRQ,
11157                 reg: regInfo{
11158                         inputs: []inputInfo{
11159                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11160                         },
11161                         outputs: []outputInfo{
11162                                 {1, 0},
11163                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11175                         },
11176                         outputs: []outputInfo{
11177                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11189                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11190                         },
11191                         outputs: []outputInfo{
11192                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11204                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11205                         },
11206                         outputs: []outputInfo{
11207                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11219                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11220                         },
11221                         outputs: []outputInfo{
11222                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11234                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11235                         },
11236                         outputs: []outputInfo{
11237                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11249                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11250                         },
11251                         outputs: []outputInfo{
11252                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11264                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11265                         },
11266                         outputs: []outputInfo{
11267                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11279                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11280                         },
11281                         outputs: []outputInfo{
11282                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11294                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11295                         },
11296                         outputs: []outputInfo{
11297                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11309                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11310                         },
11311                         outputs: []outputInfo{
11312                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11324                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11325                         },
11326                         outputs: []outputInfo{
11327                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11339                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11340                         },
11341                         outputs: []outputInfo{
11342                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11354                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11355                         },
11356                         outputs: []outputInfo{
11357                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11369                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11370                         },
11371                         outputs: []outputInfo{
11372                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11384                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11385                         },
11386                         outputs: []outputInfo{
11387                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11399                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11400                         },
11401                         outputs: []outputInfo{
11402                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11414                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11415                         },
11416                         outputs: []outputInfo{
11417                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11429                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11430                         },
11431                         outputs: []outputInfo{
11432                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11444                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11445                         },
11446                         outputs: []outputInfo{
11447                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11459                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11460                         },
11461                         outputs: []outputInfo{
11462                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11474                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11475                         },
11476                         outputs: []outputInfo{
11477                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11489                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11490                         },
11491                         outputs: []outputInfo{
11492                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11504                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11505                         },
11506                         outputs: []outputInfo{
11507                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11519                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11520                         },
11521                         outputs: []outputInfo{
11522                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11534                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11535                         },
11536                         outputs: []outputInfo{
11537                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11549                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11550                         },
11551                         outputs: []outputInfo{
11552                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11564                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11565                         },
11566                         outputs: []outputInfo{
11567                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11579                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11580                         },
11581                         outputs: []outputInfo{
11582                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11594                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11595                         },
11596                         outputs: []outputInfo{
11597                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11609                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11610                         },
11611                         outputs: []outputInfo{
11612                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11624                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11625                         },
11626                         outputs: []outputInfo{
11627                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11640                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11641                         },
11642                         outputs: []outputInfo{
11643                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11655                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11656                         },
11657                         outputs: []outputInfo{
11658                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11670                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11671                         },
11672                         outputs: []outputInfo{
11673                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11685                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11686                         },
11687                         outputs: []outputInfo{
11688                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11701                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11702                         },
11703                         outputs: []outputInfo{
11704                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11716                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11717                         },
11718                         outputs: []outputInfo{
11719                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11731                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11732                         },
11733                         outputs: []outputInfo{
11734                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11746                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11747                         },
11748                         outputs: []outputInfo{
11749                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11762                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11763                         },
11764                         outputs: []outputInfo{
11765                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11777                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11778                         },
11779                         outputs: []outputInfo{
11780                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11792                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11793                         },
11794                         outputs: []outputInfo{
11795                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11807                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11808                         },
11809                         outputs: []outputInfo{
11810                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11822                         },
11823                         outputs: []outputInfo{
11824                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11836                         },
11837                         outputs: []outputInfo{
11838                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11850                         },
11851                         outputs: []outputInfo{
11852                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11864                         },
11865                         outputs: []outputInfo{
11866                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11867                         },
11868                 },
11869         },
11870         {
11871                 name:   "SQRTSD",
11872                 argLen: 1,
11873                 asm:    x86.ASQRTSD,
11874                 reg: regInfo{
11875                         inputs: []inputInfo{
11876                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11877                         },
11878                         outputs: []outputInfo{
11879                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11880                         },
11881                 },
11882         },
11883         {
11884                 name:   "SQRTSS",
11885                 argLen: 1,
11886                 asm:    x86.ASQRTSS,
11887                 reg: regInfo{
11888                         inputs: []inputInfo{
11889                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11890                         },
11891                         outputs: []outputInfo{
11892                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11904                         },
11905                         outputs: []outputInfo{
11906                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11918                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11919                                 {2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11920                         },
11921                         outputs: []outputInfo{
11922                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11934                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11935                         },
11936                         outputs: []outputInfo{
11937                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11949                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11950                         },
11951                         outputs: []outputInfo{
11952                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11953                         },
11954                 },
11955         },
11956         {
11957                 name:   "SBBQcarrymask",
11958                 argLen: 1,
11959                 asm:    x86.ASBBQ,
11960                 reg: regInfo{
11961                         outputs: []outputInfo{
11962                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11963                         },
11964                 },
11965         },
11966         {
11967                 name:   "SBBLcarrymask",
11968                 argLen: 1,
11969                 asm:    x86.ASBBL,
11970                 reg: regInfo{
11971                         outputs: []outputInfo{
11972                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11973                         },
11974                 },
11975         },
11976         {
11977                 name:   "SETEQ",
11978                 argLen: 1,
11979                 asm:    x86.ASETEQ,
11980                 reg: regInfo{
11981                         outputs: []outputInfo{
11982                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11983                         },
11984                 },
11985         },
11986         {
11987                 name:   "SETNE",
11988                 argLen: 1,
11989                 asm:    x86.ASETNE,
11990                 reg: regInfo{
11991                         outputs: []outputInfo{
11992                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11993                         },
11994                 },
11995         },
11996         {
11997                 name:   "SETL",
11998                 argLen: 1,
11999                 asm:    x86.ASETLT,
12000                 reg: regInfo{
12001                         outputs: []outputInfo{
12002                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12003                         },
12004                 },
12005         },
12006         {
12007                 name:   "SETLE",
12008                 argLen: 1,
12009                 asm:    x86.ASETLE,
12010                 reg: regInfo{
12011                         outputs: []outputInfo{
12012                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12013                         },
12014                 },
12015         },
12016         {
12017                 name:   "SETG",
12018                 argLen: 1,
12019                 asm:    x86.ASETGT,
12020                 reg: regInfo{
12021                         outputs: []outputInfo{
12022                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12023                         },
12024                 },
12025         },
12026         {
12027                 name:   "SETGE",
12028                 argLen: 1,
12029                 asm:    x86.ASETGE,
12030                 reg: regInfo{
12031                         outputs: []outputInfo{
12032                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12033                         },
12034                 },
12035         },
12036         {
12037                 name:   "SETB",
12038                 argLen: 1,
12039                 asm:    x86.ASETCS,
12040                 reg: regInfo{
12041                         outputs: []outputInfo{
12042                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12043                         },
12044                 },
12045         },
12046         {
12047                 name:   "SETBE",
12048                 argLen: 1,
12049                 asm:    x86.ASETLS,
12050                 reg: regInfo{
12051                         outputs: []outputInfo{
12052                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12053                         },
12054                 },
12055         },
12056         {
12057                 name:   "SETA",
12058                 argLen: 1,
12059                 asm:    x86.ASETHI,
12060                 reg: regInfo{
12061                         outputs: []outputInfo{
12062                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12063                         },
12064                 },
12065         },
12066         {
12067                 name:   "SETAE",
12068                 argLen: 1,
12069                 asm:    x86.ASETCC,
12070                 reg: regInfo{
12071                         outputs: []outputInfo{
12072                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12073                         },
12074                 },
12075         },
12076         {
12077                 name:   "SETO",
12078                 argLen: 1,
12079                 asm:    x86.ASETOS,
12080                 reg: regInfo{
12081                         outputs: []outputInfo{
12082                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12227                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12242                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12257                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12272                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12287                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12302                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12317                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12332                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12347                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12362                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12387                         },
12388                 },
12389         },
12390         {
12391                 name:   "SETORD",
12392                 argLen: 1,
12393                 asm:    x86.ASETPC,
12394                 reg: regInfo{
12395                         outputs: []outputInfo{
12396                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12397                         },
12398                 },
12399         },
12400         {
12401                 name:   "SETNAN",
12402                 argLen: 1,
12403                 asm:    x86.ASETPS,
12404                 reg: regInfo{
12405                         outputs: []outputInfo{
12406                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12407                         },
12408                 },
12409         },
12410         {
12411                 name:   "SETGF",
12412                 argLen: 1,
12413                 asm:    x86.ASETHI,
12414                 reg: regInfo{
12415                         outputs: []outputInfo{
12416                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12417                         },
12418                 },
12419         },
12420         {
12421                 name:   "SETGEF",
12422                 argLen: 1,
12423                 asm:    x86.ASETCC,
12424                 reg: regInfo{
12425                         outputs: []outputInfo{
12426                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12427                         },
12428                 },
12429         },
12430         {
12431                 name:   "MOVBQSX",
12432                 argLen: 1,
12433                 asm:    x86.AMOVBQSX,
12434                 reg: regInfo{
12435                         inputs: []inputInfo{
12436                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12437                         },
12438                         outputs: []outputInfo{
12439                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12440                         },
12441                 },
12442         },
12443         {
12444                 name:   "MOVBQZX",
12445                 argLen: 1,
12446                 asm:    x86.AMOVBLZX,
12447                 reg: regInfo{
12448                         inputs: []inputInfo{
12449                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12450                         },
12451                         outputs: []outputInfo{
12452                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12453                         },
12454                 },
12455         },
12456         {
12457                 name:   "MOVWQSX",
12458                 argLen: 1,
12459                 asm:    x86.AMOVWQSX,
12460                 reg: regInfo{
12461                         inputs: []inputInfo{
12462                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12463                         },
12464                         outputs: []outputInfo{
12465                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12466                         },
12467                 },
12468         },
12469         {
12470                 name:   "MOVWQZX",
12471                 argLen: 1,
12472                 asm:    x86.AMOVWLZX,
12473                 reg: regInfo{
12474                         inputs: []inputInfo{
12475                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12476                         },
12477                         outputs: []outputInfo{
12478                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12479                         },
12480                 },
12481         },
12482         {
12483                 name:   "MOVLQSX",
12484                 argLen: 1,
12485                 asm:    x86.AMOVLQSX,
12486                 reg: regInfo{
12487                         inputs: []inputInfo{
12488                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12489                         },
12490                         outputs: []outputInfo{
12491                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12492                         },
12493                 },
12494         },
12495         {
12496                 name:   "MOVLQZX",
12497                 argLen: 1,
12498                 asm:    x86.AMOVL,
12499                 reg: regInfo{
12500                         inputs: []inputInfo{
12501                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12502                         },
12503                         outputs: []outputInfo{
12504                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12529                         },
12530                 },
12531         },
12532         {
12533                 name:   "CVTTSD2SL",
12534                 argLen: 1,
12535                 asm:    x86.ACVTTSD2SL,
12536                 reg: regInfo{
12537                         inputs: []inputInfo{
12538                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12539                         },
12540                         outputs: []outputInfo{
12541                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12542                         },
12543                 },
12544         },
12545         {
12546                 name:   "CVTTSD2SQ",
12547                 argLen: 1,
12548                 asm:    x86.ACVTTSD2SQ,
12549                 reg: regInfo{
12550                         inputs: []inputInfo{
12551                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12552                         },
12553                         outputs: []outputInfo{
12554                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12555                         },
12556                 },
12557         },
12558         {
12559                 name:   "CVTTSS2SL",
12560                 argLen: 1,
12561                 asm:    x86.ACVTTSS2SL,
12562                 reg: regInfo{
12563                         inputs: []inputInfo{
12564                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12565                         },
12566                         outputs: []outputInfo{
12567                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12568                         },
12569                 },
12570         },
12571         {
12572                 name:   "CVTTSS2SQ",
12573                 argLen: 1,
12574                 asm:    x86.ACVTTSS2SQ,
12575                 reg: regInfo{
12576                         inputs: []inputInfo{
12577                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12578                         },
12579                         outputs: []outputInfo{
12580                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12581                         },
12582                 },
12583         },
12584         {
12585                 name:   "CVTSL2SS",
12586                 argLen: 1,
12587                 asm:    x86.ACVTSL2SS,
12588                 reg: regInfo{
12589                         inputs: []inputInfo{
12590                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12591                         },
12592                         outputs: []outputInfo{
12593                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12594                         },
12595                 },
12596         },
12597         {
12598                 name:   "CVTSL2SD",
12599                 argLen: 1,
12600                 asm:    x86.ACVTSL2SD,
12601                 reg: regInfo{
12602                         inputs: []inputInfo{
12603                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12604                         },
12605                         outputs: []outputInfo{
12606                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12607                         },
12608                 },
12609         },
12610         {
12611                 name:   "CVTSQ2SS",
12612                 argLen: 1,
12613                 asm:    x86.ACVTSQ2SS,
12614                 reg: regInfo{
12615                         inputs: []inputInfo{
12616                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12617                         },
12618                         outputs: []outputInfo{
12619                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12620                         },
12621                 },
12622         },
12623         {
12624                 name:   "CVTSQ2SD",
12625                 argLen: 1,
12626                 asm:    x86.ACVTSQ2SD,
12627                 reg: regInfo{
12628                         inputs: []inputInfo{
12629                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12630                         },
12631                         outputs: []outputInfo{
12632                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12633                         },
12634                 },
12635         },
12636         {
12637                 name:   "CVTSD2SS",
12638                 argLen: 1,
12639                 asm:    x86.ACVTSD2SS,
12640                 reg: regInfo{
12641                         inputs: []inputInfo{
12642                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12643                         },
12644                         outputs: []outputInfo{
12645                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12646                         },
12647                 },
12648         },
12649         {
12650                 name:   "CVTSS2SD",
12651                 argLen: 1,
12652                 asm:    x86.ACVTSS2SD,
12653                 reg: regInfo{
12654                         inputs: []inputInfo{
12655                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12656                         },
12657                         outputs: []outputInfo{
12658                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12659                         },
12660                 },
12661         },
12662         {
12663                 name:   "MOVQi2f",
12664                 argLen: 1,
12665                 reg: regInfo{
12666                         inputs: []inputInfo{
12667                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12668                         },
12669                         outputs: []outputInfo{
12670                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12671                         },
12672                 },
12673         },
12674         {
12675                 name:   "MOVQf2i",
12676                 argLen: 1,
12677                 reg: regInfo{
12678                         inputs: []inputInfo{
12679                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12680                         },
12681                         outputs: []outputInfo{
12682                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12683                         },
12684                 },
12685         },
12686         {
12687                 name:   "MOVLi2f",
12688                 argLen: 1,
12689                 reg: regInfo{
12690                         inputs: []inputInfo{
12691                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12692                         },
12693                         outputs: []outputInfo{
12694                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12695                         },
12696                 },
12697         },
12698         {
12699                 name:   "MOVLf2i",
12700                 argLen: 1,
12701                 reg: regInfo{
12702                         inputs: []inputInfo{
12703                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12704                         },
12705                         outputs: []outputInfo{
12706                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12719                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12720                         },
12721                         outputs: []outputInfo{
12722                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12735                                 {1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12736                         },
12737                         outputs: []outputInfo{
12738                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12752                         },
12753                         outputs: []outputInfo{
12754                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12768                         },
12769                         outputs: []outputInfo{
12770                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12784                         },
12785                         outputs: []outputInfo{
12786                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12801                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12802                         },
12803                         outputs: []outputInfo{
12804                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12819                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12820                         },
12821                         outputs: []outputInfo{
12822                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12837                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12838                         },
12839                         outputs: []outputInfo{
12840                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12854                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12855                         },
12856                         outputs: []outputInfo{
12857                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12871                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12872                         },
12873                         outputs: []outputInfo{
12874                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12888                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12889                         },
12890                         outputs: []outputInfo{
12891                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12905                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12906                         },
12907                         outputs: []outputInfo{
12908                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12922                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12923                         },
12924                         outputs: []outputInfo{
12925                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12939                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12940                         },
12941                         outputs: []outputInfo{
12942                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12956                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12957                         },
12958                         outputs: []outputInfo{
12959                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12973                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12974                         },
12975                         outputs: []outputInfo{
12976                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12990                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12991                         },
12992                         outputs: []outputInfo{
12993                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13007                         },
13008                         outputs: []outputInfo{
13009                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13023                         },
13024                         outputs: []outputInfo{
13025                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13039                         },
13040                         outputs: []outputInfo{
13041                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13055                         },
13056                         outputs: []outputInfo{
13057                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13071                         },
13072                         outputs: []outputInfo{
13073                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13087                         },
13088                         outputs: []outputInfo{
13089                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13103                         },
13104                         outputs: []outputInfo{
13105                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13119                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13133                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13147                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13161                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
13175                         },
13176                         outputs: []outputInfo{
13177                                 {0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
13191                                 {0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13206                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13207                         },
13208                         outputs: []outputInfo{
13209                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13224                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13225                         },
13226                         outputs: []outputInfo{
13227                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13241                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13242                         },
13243                         outputs: []outputInfo{
13244                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13259                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13260                         },
13261                         outputs: []outputInfo{
13262                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13276                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13277                         },
13278                         outputs: []outputInfo{
13279                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13293                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13294                         },
13295                         outputs: []outputInfo{
13296                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13311                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13312                         },
13313                         outputs: []outputInfo{
13314                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13328                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13329                         },
13330                         outputs: []outputInfo{
13331                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13346                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13347                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13362                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13363                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13377                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13378                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13393                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13394                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13408                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13409                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13423                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13424                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13439                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13440                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13454                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13455                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13535                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13550                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13564                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13579                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13593                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13608                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13622                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // DI
13635                         },
13636                         clobbers: 128, // DI
13637                 },
13638         },
13639         {
13640                 name:           "REPSTOSQ",
13641                 argLen:         4,
13642                 faultOnNilArg0: true,
13643                 reg: regInfo{
13644                         inputs: []inputInfo{
13645                                 {0, 128}, // DI
13646                                 {1, 2},   // CX
13647                                 {2, 1},   // AX
13648                         },
13649                         clobbers: 130, // CX DI
13650                 },
13651         },
13652         {
13653                 name:         "CALLstatic",
13654                 auxType:      auxCallOff,
13655                 argLen:       -1,
13656                 clobberFlags: true,
13657                 call:         true,
13658                 reg: regInfo{
13659                         clobbers: 2147483631, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 g R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 g R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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},     // DX
13682                                 {0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13683                         },
13684                         clobbers: 2147483631, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 g R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13696                         },
13697                         clobbers: 2147483631, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 g R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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}, // DI
13711                                 {1, 64},  // SI
13712                         },
13713                         clobbers: 65728, // SI DI X0
13714                 },
13715         },
13716         {
13717                 name:           "REPMOVSQ",
13718                 argLen:         4,
13719                 faultOnNilArg0: true,
13720                 faultOnNilArg1: true,
13721                 reg: regInfo{
13722                         inputs: []inputInfo{
13723                                 {0, 128}, // DI
13724                                 {1, 64},  // SI
13725                                 {2, 2},   // CX
13726                         },
13727                         clobbers: 194, // CX SI DI
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13741                         },
13742                 },
13743         },
13744         {
13745                 name:      "LoweredGetClosurePtr",
13746                 argLen:    0,
13747                 zeroWidth: true,
13748                 reg: regInfo{
13749                         outputs: []outputInfo{
13750                                 {0, 4}, // DX
13751                         },
13752                 },
13753         },
13754         {
13755                 name:              "LoweredGetCallerPC",
13756                 argLen:            0,
13757                 rematerializeable: true,
13758                 reg: regInfo{
13759                         outputs: []outputInfo{
13760                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13761                         },
13762                 },
13763         },
13764         {
13765                 name:              "LoweredGetCallerSP",
13766                 argLen:            1,
13767                 rematerializeable: true,
13768                 reg: regInfo{
13769                         outputs: []outputInfo{
13770                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13783                         },
13784                 },
13785         },
13786         {
13787                 name:         "LoweredWB",
13788                 auxType:      auxInt64,
13789                 argLen:       1,
13790                 clobberFlags: true,
13791                 reg: regInfo{
13792                         clobbers: 2147418112, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
13793                         outputs: []outputInfo{
13794                                 {0, 2048}, // R11
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // DX
13818                                 {1, 8}, // BX
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}, // CX
13830                                 {1, 4}, // DX
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}, // AX
13842                                 {1, 2}, // CX
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13881                         },
13882                         outputs: []outputInfo{
13883                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13897                         },
13898                         outputs: []outputInfo{
13899                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13913                         },
13914                         outputs: []outputInfo{
13915                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13931                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13932                         },
13933                         outputs: []outputInfo{
13934                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13950                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13951                         },
13952                         outputs: []outputInfo{
13953                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13969                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13970                         },
13971                         outputs: []outputInfo{
13972                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13989                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13990                         },
13991                         outputs: []outputInfo{
13992                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14009                                 {1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14010                         },
14011                         outputs: []outputInfo{
14012                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // AX
14038                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14039                                 {2, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14040                         },
14041                         clobbers: 1, // AX
14042                         outputs: []outputInfo{
14043                                 {1, 0},
14044                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},     // AX
14060                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14061                                 {2, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14062                         },
14063                         clobbers: 1, // AX
14064                         outputs: []outputInfo{
14065                                 {1, 0},
14066                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14082                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14098                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14114                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14130                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14164                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14165                         },
14166                         outputs: []outputInfo{
14167                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14179                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14180                         },
14181                         outputs: []outputInfo{
14182                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14194                         },
14195                         outputs: []outputInfo{
14196                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14208                         },
14209                         outputs: []outputInfo{
14210                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14222                         },
14223                         outputs: []outputInfo{
14224                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14236                         },
14237                         outputs: []outputInfo{
14238                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14239                         },
14240                 },
14241         },
14242         {
14243                 name:   "BLSRQ",
14244                 argLen: 1,
14245                 asm:    x86.ABLSRQ,
14246                 reg: regInfo{
14247                         inputs: []inputInfo{
14248                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14249                         },
14250                         outputs: []outputInfo{
14251                                 {1, 0},
14252                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14253                         },
14254                 },
14255         },
14256         {
14257                 name:   "BLSRL",
14258                 argLen: 1,
14259                 asm:    x86.ABLSRL,
14260                 reg: regInfo{
14261                         inputs: []inputInfo{
14262                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14263                         },
14264                         outputs: []outputInfo{
14265                                 {1, 0},
14266                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14278                         },
14279                         outputs: []outputInfo{
14280                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14292                         },
14293                         outputs: []outputInfo{
14294                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14306                         },
14307                         outputs: []outputInfo{
14308                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14320                         },
14321                         outputs: []outputInfo{
14322                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14336                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14350                         },
14351                         outputs: []outputInfo{
14352                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14366                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14380                         },
14381                         outputs: []outputInfo{
14382                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14396                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14411                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14412                         },
14413                         outputs: []outputInfo{
14414                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14428                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14429                         },
14430                         outputs: []outputInfo{
14431                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14445                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14446                         },
14447                         outputs: []outputInfo{
14448                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14463                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14464                         },
14465                         outputs: []outputInfo{
14466                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14480                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14481                         },
14482                         outputs: []outputInfo{
14483                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14498                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14499                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14513                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14514                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14529                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14530                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14544                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14545                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14559                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14560                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14575                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14576                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
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},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14590                                 {2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14591                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14592                         },
14593                 },
14594         },
14595         {
14596                 name:   "SARXQ",
14597                 argLen: 2,
14598                 asm:    x86.ASARXQ,
14599                 reg: regInfo{
14600                         inputs: []inputInfo{
14601                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14602                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14603                         },
14604                         outputs: []outputInfo{
14605                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14606                         },
14607                 },
14608         },
14609         {
14610                 name:   "SARXL",
14611                 argLen: 2,
14612                 asm:    x86.ASARXL,
14613                 reg: regInfo{
14614                         inputs: []inputInfo{
14615                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14616                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14617                         },
14618                         outputs: []outputInfo{
14619                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14620                         },
14621                 },
14622         },
14623         {
14624                 name:   "SHLXQ",
14625                 argLen: 2,
14626                 asm:    x86.ASHLXQ,
14627                 reg: regInfo{
14628                         inputs: []inputInfo{
14629                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14630                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14631                         },
14632                         outputs: []outputInfo{
14633                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14634                         },
14635                 },
14636         },
14637         {
14638                 name:   "SHLXL",
14639                 argLen: 2,
14640                 asm:    x86.ASHLXL,
14641                 reg: regInfo{
14642                         inputs: []inputInfo{
14643                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14644                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14645                         },
14646                         outputs: []outputInfo{
14647                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14648                         },
14649                 },
14650         },
14651         {
14652                 name:   "SHRXQ",
14653                 argLen: 2,
14654                 asm:    x86.ASHRXQ,
14655                 reg: regInfo{
14656                         inputs: []inputInfo{
14657                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14658                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14659                         },
14660                         outputs: []outputInfo{
14661                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14662                         },
14663                 },
14664         },
14665         {
14666                 name:   "SHRXL",
14667                 argLen: 2,
14668                 asm:    x86.ASHRXL,
14669                 reg: regInfo{
14670                         inputs: []inputInfo{
14671                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14672                                 {1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14673                         },
14674                         outputs: []outputInfo{
14675                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14689                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14690                         },
14691                         outputs: []outputInfo{
14692                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14706                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14707                         },
14708                         outputs: []outputInfo{
14709                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14723                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14724                         },
14725                         outputs: []outputInfo{
14726                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14740                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14741                         },
14742                         outputs: []outputInfo{
14743                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14757                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14758                         },
14759                         outputs: []outputInfo{
14760                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14774                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14775                         },
14776                         outputs: []outputInfo{
14777                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14792                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14793                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14794                         },
14795                         outputs: []outputInfo{
14796                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14811                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14812                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14813                         },
14814                         outputs: []outputInfo{
14815                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14830                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14831                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14832                         },
14833                         outputs: []outputInfo{
14834                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14849                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14850                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14851                         },
14852                         outputs: []outputInfo{
14853                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14868                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14869                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14870                         },
14871                         outputs: []outputInfo{
14872                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14887                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14888                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14889                         },
14890                         outputs: []outputInfo{
14891                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14906                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14907                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14908                         },
14909                         outputs: []outputInfo{
14910                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14925                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14926                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14927                         },
14928                         outputs: []outputInfo{
14929                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14944                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14945                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14946                         },
14947                         outputs: []outputInfo{
14948                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14963                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14964                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14965                         },
14966                         outputs: []outputInfo{
14967                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14982                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14983                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14984                         },
14985                         outputs: []outputInfo{
14986                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15001                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15002                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15003                         },
15004                         outputs: []outputInfo{
15005                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15020                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15021                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15022                         },
15023                         outputs: []outputInfo{
15024                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15039                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15040                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15041                         },
15042                         outputs: []outputInfo{
15043                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15058                                 {1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15059                                 {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15060                         },
15061                         outputs: []outputInfo{
15062                                 {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15075                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15076                         },
15077                         outputs: []outputInfo{
15078                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14
15090                         },
15091                         outputs: []outputInfo{
15092                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15093                         },
15094                 },
15095         },
15096         {
15097                 name:   "SUB",
15098                 argLen: 2,
15099                 asm:    arm.ASUB,
15100                 reg: regInfo{
15101                         inputs: []inputInfo{
15102                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15103                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15104                         },
15105                         outputs: []outputInfo{
15106                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15118                         },
15119                         outputs: []outputInfo{
15120                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15121                         },
15122                 },
15123         },
15124         {
15125                 name:   "RSB",
15126                 argLen: 2,
15127                 asm:    arm.ARSB,
15128                 reg: regInfo{
15129                         inputs: []inputInfo{
15130                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15131                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15132                         },
15133                         outputs: []outputInfo{
15134                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15146                         },
15147                         outputs: []outputInfo{
15148                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15160                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15161                         },
15162                         outputs: []outputInfo{
15163                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15175                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15176                         },
15177                         outputs: []outputInfo{
15178                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15190                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15191                         },
15192                         outputs: []outputInfo{
15193                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15194                         },
15195                 },
15196         },
15197         {
15198                 name:         "CALLudiv",
15199                 argLen:       2,
15200                 clobberFlags: true,
15201                 reg: regInfo{
15202                         inputs: []inputInfo{
15203                                 {0, 2}, // R1
15204                                 {1, 1}, // R0
15205                         },
15206                         clobbers: 20492, // R2 R3 R12 R14
15207                         outputs: []outputInfo{
15208                                 {0, 1}, // R0
15209                                 {1, 2}, // R1
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15221                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15222                         },
15223                         outputs: []outputInfo{
15224                                 {1, 0},
15225                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15237                         },
15238                         outputs: []outputInfo{
15239                                 {1, 0},
15240                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15252                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15253                         },
15254                         outputs: []outputInfo{
15255                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15267                         },
15268                         outputs: []outputInfo{
15269                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15270                         },
15271                 },
15272         },
15273         {
15274                 name:   "SUBS",
15275                 argLen: 2,
15276                 asm:    arm.ASUB,
15277                 reg: regInfo{
15278                         inputs: []inputInfo{
15279                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15280                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15281                         },
15282                         outputs: []outputInfo{
15283                                 {1, 0},
15284                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15296                         },
15297                         outputs: []outputInfo{
15298                                 {1, 0},
15299                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15311                         },
15312                         outputs: []outputInfo{
15313                                 {1, 0},
15314                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15315                         },
15316                 },
15317         },
15318         {
15319                 name:   "SBC",
15320                 argLen: 3,
15321                 asm:    arm.ASBC,
15322                 reg: regInfo{
15323                         inputs: []inputInfo{
15324                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15325                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15326                         },
15327                         outputs: []outputInfo{
15328                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15340                         },
15341                         outputs: []outputInfo{
15342                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15354                         },
15355                         outputs: []outputInfo{
15356                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15368                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15369                         },
15370                         outputs: []outputInfo{
15371                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15372                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15373                         },
15374                 },
15375         },
15376         {
15377                 name:   "MULA",
15378                 argLen: 3,
15379                 asm:    arm.AMULA,
15380                 reg: regInfo{
15381                         inputs: []inputInfo{
15382                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15383                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15384                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15385                         },
15386                         outputs: []outputInfo{
15387                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15388                         },
15389                 },
15390         },
15391         {
15392                 name:   "MULS",
15393                 argLen: 3,
15394                 asm:    arm.AMULS,
15395                 reg: regInfo{
15396                         inputs: []inputInfo{
15397                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15398                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15399                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15400                         },
15401                         outputs: []outputInfo{
15402                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15414                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15415                         },
15416                         outputs: []outputInfo{
15417                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15429                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15430                         },
15431                         outputs: []outputInfo{
15432                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15433                         },
15434                 },
15435         },
15436         {
15437                 name:   "SUBF",
15438                 argLen: 2,
15439                 asm:    arm.ASUBF,
15440                 reg: regInfo{
15441                         inputs: []inputInfo{
15442                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15443                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15444                         },
15445                         outputs: []outputInfo{
15446                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15447                         },
15448                 },
15449         },
15450         {
15451                 name:   "SUBD",
15452                 argLen: 2,
15453                 asm:    arm.ASUBD,
15454                 reg: regInfo{
15455                         inputs: []inputInfo{
15456                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15457                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15458                         },
15459                         outputs: []outputInfo{
15460                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15472                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15473                         },
15474                         outputs: []outputInfo{
15475                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15487                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15488                         },
15489                         outputs: []outputInfo{
15490                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15502                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15503                         },
15504                         outputs: []outputInfo{
15505                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15517                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15518                         },
15519                         outputs: []outputInfo{
15520                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15521                         },
15522                 },
15523         },
15524         {
15525                 name:   "DIVF",
15526                 argLen: 2,
15527                 asm:    arm.ADIVF,
15528                 reg: regInfo{
15529                         inputs: []inputInfo{
15530                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15531                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15532                         },
15533                         outputs: []outputInfo{
15534                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15535                         },
15536                 },
15537         },
15538         {
15539                 name:   "DIVD",
15540                 argLen: 2,
15541                 asm:    arm.ADIVD,
15542                 reg: regInfo{
15543                         inputs: []inputInfo{
15544                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15545                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15546                         },
15547                         outputs: []outputInfo{
15548                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15560                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15561                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15562                         },
15563                         outputs: []outputInfo{
15564                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15576                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15577                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15578                         },
15579                         outputs: []outputInfo{
15580                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15592                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15593                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15594                         },
15595                         outputs: []outputInfo{
15596                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15608                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15609                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15610                         },
15611                         outputs: []outputInfo{
15612                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15624                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15625                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15626                         },
15627                         outputs: []outputInfo{
15628                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15640                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15641                         },
15642                         outputs: []outputInfo{
15643                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15655                         },
15656                         outputs: []outputInfo{
15657                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15669                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15670                         },
15671                         outputs: []outputInfo{
15672                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15684                         },
15685                         outputs: []outputInfo{
15686                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15698                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15699                         },
15700                         outputs: []outputInfo{
15701                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15713                         },
15714                         outputs: []outputInfo{
15715                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15716                         },
15717                 },
15718         },
15719         {
15720                 name:   "BIC",
15721                 argLen: 2,
15722                 asm:    arm.ABIC,
15723                 reg: regInfo{
15724                         inputs: []inputInfo{
15725                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15726                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15727                         },
15728                         outputs: []outputInfo{
15729                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15741                         },
15742                         outputs: []outputInfo{
15743                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15755                         },
15756                         outputs: []outputInfo{
15757                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15769                         },
15770                         outputs: []outputInfo{
15771                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15772                         },
15773                 },
15774         },
15775         {
15776                 name:   "MVN",
15777                 argLen: 1,
15778                 asm:    arm.AMVN,
15779                 reg: regInfo{
15780                         inputs: []inputInfo{
15781                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15782                         },
15783                         outputs: []outputInfo{
15784                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15785                         },
15786                 },
15787         },
15788         {
15789                 name:   "NEGF",
15790                 argLen: 1,
15791                 asm:    arm.ANEGF,
15792                 reg: regInfo{
15793                         inputs: []inputInfo{
15794                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15795                         },
15796                         outputs: []outputInfo{
15797                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15798                         },
15799                 },
15800         },
15801         {
15802                 name:   "NEGD",
15803                 argLen: 1,
15804                 asm:    arm.ANEGD,
15805                 reg: regInfo{
15806                         inputs: []inputInfo{
15807                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15808                         },
15809                         outputs: []outputInfo{
15810                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15811                         },
15812                 },
15813         },
15814         {
15815                 name:   "SQRTD",
15816                 argLen: 1,
15817                 asm:    arm.ASQRTD,
15818                 reg: regInfo{
15819                         inputs: []inputInfo{
15820                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15821                         },
15822                         outputs: []outputInfo{
15823                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15824                         },
15825                 },
15826         },
15827         {
15828                 name:   "SQRTF",
15829                 argLen: 1,
15830                 asm:    arm.ASQRTF,
15831                 reg: regInfo{
15832                         inputs: []inputInfo{
15833                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15834                         },
15835                         outputs: []outputInfo{
15836                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15837                         },
15838                 },
15839         },
15840         {
15841                 name:   "ABSD",
15842                 argLen: 1,
15843                 asm:    arm.AABSD,
15844                 reg: regInfo{
15845                         inputs: []inputInfo{
15846                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15847                         },
15848                         outputs: []outputInfo{
15849                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15850                         },
15851                 },
15852         },
15853         {
15854                 name:   "CLZ",
15855                 argLen: 1,
15856                 asm:    arm.ACLZ,
15857                 reg: regInfo{
15858                         inputs: []inputInfo{
15859                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15860                         },
15861                         outputs: []outputInfo{
15862                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15863                         },
15864                 },
15865         },
15866         {
15867                 name:   "REV",
15868                 argLen: 1,
15869                 asm:    arm.AREV,
15870                 reg: regInfo{
15871                         inputs: []inputInfo{
15872                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15873                         },
15874                         outputs: []outputInfo{
15875                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15876                         },
15877                 },
15878         },
15879         {
15880                 name:   "REV16",
15881                 argLen: 1,
15882                 asm:    arm.AREV16,
15883                 reg: regInfo{
15884                         inputs: []inputInfo{
15885                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15886                         },
15887                         outputs: []outputInfo{
15888                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15889                         },
15890                 },
15891         },
15892         {
15893                 name:   "RBIT",
15894                 argLen: 1,
15895                 asm:    arm.ARBIT,
15896                 reg: regInfo{
15897                         inputs: []inputInfo{
15898                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15899                         },
15900                         outputs: []outputInfo{
15901                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15902                         },
15903                 },
15904         },
15905         {
15906                 name:   "SLL",
15907                 argLen: 2,
15908                 asm:    arm.ASLL,
15909                 reg: regInfo{
15910                         inputs: []inputInfo{
15911                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15912                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15913                         },
15914                         outputs: []outputInfo{
15915                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15927                         },
15928                         outputs: []outputInfo{
15929                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15930                         },
15931                 },
15932         },
15933         {
15934                 name:   "SRL",
15935                 argLen: 2,
15936                 asm:    arm.ASRL,
15937                 reg: regInfo{
15938                         inputs: []inputInfo{
15939                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15940                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15941                         },
15942                         outputs: []outputInfo{
15943                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15955                         },
15956                         outputs: []outputInfo{
15957                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15958                         },
15959                 },
15960         },
15961         {
15962                 name:   "SRA",
15963                 argLen: 2,
15964                 asm:    arm.ASRA,
15965                 reg: regInfo{
15966                         inputs: []inputInfo{
15967                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15968                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15969                         },
15970                         outputs: []outputInfo{
15971                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15983                         },
15984                         outputs: []outputInfo{
15985                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15986                         },
15987                 },
15988         },
15989         {
15990                 name:   "SRR",
15991                 argLen: 2,
15992                 reg: regInfo{
15993                         inputs: []inputInfo{
15994                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15995                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15996                         },
15997                         outputs: []outputInfo{
15998                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15999                         },
16000                 },
16001         },
16002         {
16003                 name:    "SRRconst",
16004                 auxType: auxInt32,
16005                 argLen:  1,
16006                 reg: regInfo{
16007                         inputs: []inputInfo{
16008                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16009                         },
16010                         outputs: []outputInfo{
16011                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16023                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16024                         },
16025                         outputs: []outputInfo{
16026                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16038                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16039                         },
16040                         outputs: []outputInfo{
16041                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16053                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16054                         },
16055                         outputs: []outputInfo{
16056                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16068                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16069                         },
16070                         outputs: []outputInfo{
16071                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16083                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16084                         },
16085                         outputs: []outputInfo{
16086                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16098                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16099                         },
16100                         outputs: []outputInfo{
16101                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16113                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16114                         },
16115                         outputs: []outputInfo{
16116                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16128                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16129                         },
16130                         outputs: []outputInfo{
16131                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16143                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16144                         },
16145                         outputs: []outputInfo{
16146                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16158                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16159                         },
16160                         outputs: []outputInfo{
16161                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16173                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16174                         },
16175                         outputs: []outputInfo{
16176                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16188                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16189                         },
16190                         outputs: []outputInfo{
16191                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16203                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16204                         },
16205                         outputs: []outputInfo{
16206                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16218                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16219                         },
16220                         outputs: []outputInfo{
16221                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16233                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16234                         },
16235                         outputs: []outputInfo{
16236                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16248                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16249                         },
16250                         outputs: []outputInfo{
16251                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16263                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16264                         },
16265                         outputs: []outputInfo{
16266                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16278                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16279                         },
16280                         outputs: []outputInfo{
16281                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16293                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16294                         },
16295                         outputs: []outputInfo{
16296                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16308                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16309                         },
16310                         outputs: []outputInfo{
16311                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16323                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16324                         },
16325                         outputs: []outputInfo{
16326                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16338                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16339                         },
16340                         outputs: []outputInfo{
16341                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16353                         },
16354                         outputs: []outputInfo{
16355                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16367                         },
16368                         outputs: []outputInfo{
16369                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16381                         },
16382                         outputs: []outputInfo{
16383                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16395                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16396                         },
16397                         outputs: []outputInfo{
16398                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16410                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16411                         },
16412                         outputs: []outputInfo{
16413                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16425                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16426                         },
16427                         outputs: []outputInfo{
16428                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16440                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16441                         },
16442                         outputs: []outputInfo{
16443                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16455                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16456                         },
16457                         outputs: []outputInfo{
16458                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16470                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16471                         },
16472                         outputs: []outputInfo{
16473                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16485                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16486                         },
16487                         outputs: []outputInfo{
16488                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16500                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16501                         },
16502                         outputs: []outputInfo{
16503                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16515                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16516                         },
16517                         outputs: []outputInfo{
16518                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16530                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16531                         },
16532                         outputs: []outputInfo{
16533                                 {1, 0},
16534                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16546                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16547                         },
16548                         outputs: []outputInfo{
16549                                 {1, 0},
16550                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16562                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16563                         },
16564                         outputs: []outputInfo{
16565                                 {1, 0},
16566                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16578                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16579                         },
16580                         outputs: []outputInfo{
16581                                 {1, 0},
16582                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16594                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16595                         },
16596                         outputs: []outputInfo{
16597                                 {1, 0},
16598                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16610                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16611                         },
16612                         outputs: []outputInfo{
16613                                 {1, 0},
16614                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16626                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16627                         },
16628                         outputs: []outputInfo{
16629                                 {1, 0},
16630                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16642                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16643                         },
16644                         outputs: []outputInfo{
16645                                 {1, 0},
16646                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16658                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16659                         },
16660                         outputs: []outputInfo{
16661                                 {1, 0},
16662                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16663                         },
16664                 },
16665         },
16666         {
16667                 name:   "ADDshiftLLreg",
16668                 argLen: 3,
16669                 asm:    arm.AADD,
16670                 reg: regInfo{
16671                         inputs: []inputInfo{
16672                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16673                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16674                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16675                         },
16676                         outputs: []outputInfo{
16677                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16678                         },
16679                 },
16680         },
16681         {
16682                 name:   "ADDshiftRLreg",
16683                 argLen: 3,
16684                 asm:    arm.AADD,
16685                 reg: regInfo{
16686                         inputs: []inputInfo{
16687                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16688                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16689                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16690                         },
16691                         outputs: []outputInfo{
16692                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16693                         },
16694                 },
16695         },
16696         {
16697                 name:   "ADDshiftRAreg",
16698                 argLen: 3,
16699                 asm:    arm.AADD,
16700                 reg: regInfo{
16701                         inputs: []inputInfo{
16702                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16703                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16704                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16705                         },
16706                         outputs: []outputInfo{
16707                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16708                         },
16709                 },
16710         },
16711         {
16712                 name:   "SUBshiftLLreg",
16713                 argLen: 3,
16714                 asm:    arm.ASUB,
16715                 reg: regInfo{
16716                         inputs: []inputInfo{
16717                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16718                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16719                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16720                         },
16721                         outputs: []outputInfo{
16722                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16723                         },
16724                 },
16725         },
16726         {
16727                 name:   "SUBshiftRLreg",
16728                 argLen: 3,
16729                 asm:    arm.ASUB,
16730                 reg: regInfo{
16731                         inputs: []inputInfo{
16732                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16733                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16734                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16735                         },
16736                         outputs: []outputInfo{
16737                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16738                         },
16739                 },
16740         },
16741         {
16742                 name:   "SUBshiftRAreg",
16743                 argLen: 3,
16744                 asm:    arm.ASUB,
16745                 reg: regInfo{
16746                         inputs: []inputInfo{
16747                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16748                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16749                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16750                         },
16751                         outputs: []outputInfo{
16752                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16753                         },
16754                 },
16755         },
16756         {
16757                 name:   "RSBshiftLLreg",
16758                 argLen: 3,
16759                 asm:    arm.ARSB,
16760                 reg: regInfo{
16761                         inputs: []inputInfo{
16762                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16763                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16764                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16765                         },
16766                         outputs: []outputInfo{
16767                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16768                         },
16769                 },
16770         },
16771         {
16772                 name:   "RSBshiftRLreg",
16773                 argLen: 3,
16774                 asm:    arm.ARSB,
16775                 reg: regInfo{
16776                         inputs: []inputInfo{
16777                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16778                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16779                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16780                         },
16781                         outputs: []outputInfo{
16782                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16783                         },
16784                 },
16785         },
16786         {
16787                 name:   "RSBshiftRAreg",
16788                 argLen: 3,
16789                 asm:    arm.ARSB,
16790                 reg: regInfo{
16791                         inputs: []inputInfo{
16792                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16793                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16794                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16795                         },
16796                         outputs: []outputInfo{
16797                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16798                         },
16799                 },
16800         },
16801         {
16802                 name:   "ANDshiftLLreg",
16803                 argLen: 3,
16804                 asm:    arm.AAND,
16805                 reg: regInfo{
16806                         inputs: []inputInfo{
16807                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16808                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16809                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16810                         },
16811                         outputs: []outputInfo{
16812                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16813                         },
16814                 },
16815         },
16816         {
16817                 name:   "ANDshiftRLreg",
16818                 argLen: 3,
16819                 asm:    arm.AAND,
16820                 reg: regInfo{
16821                         inputs: []inputInfo{
16822                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16823                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16824                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16825                         },
16826                         outputs: []outputInfo{
16827                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16828                         },
16829                 },
16830         },
16831         {
16832                 name:   "ANDshiftRAreg",
16833                 argLen: 3,
16834                 asm:    arm.AAND,
16835                 reg: regInfo{
16836                         inputs: []inputInfo{
16837                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16838                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16839                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16840                         },
16841                         outputs: []outputInfo{
16842                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16843                         },
16844                 },
16845         },
16846         {
16847                 name:   "ORshiftLLreg",
16848                 argLen: 3,
16849                 asm:    arm.AORR,
16850                 reg: regInfo{
16851                         inputs: []inputInfo{
16852                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16853                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16854                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16855                         },
16856                         outputs: []outputInfo{
16857                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16858                         },
16859                 },
16860         },
16861         {
16862                 name:   "ORshiftRLreg",
16863                 argLen: 3,
16864                 asm:    arm.AORR,
16865                 reg: regInfo{
16866                         inputs: []inputInfo{
16867                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16868                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16869                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16870                         },
16871                         outputs: []outputInfo{
16872                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16873                         },
16874                 },
16875         },
16876         {
16877                 name:   "ORshiftRAreg",
16878                 argLen: 3,
16879                 asm:    arm.AORR,
16880                 reg: regInfo{
16881                         inputs: []inputInfo{
16882                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16883                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16884                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16885                         },
16886                         outputs: []outputInfo{
16887                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16888                         },
16889                 },
16890         },
16891         {
16892                 name:   "XORshiftLLreg",
16893                 argLen: 3,
16894                 asm:    arm.AEOR,
16895                 reg: regInfo{
16896                         inputs: []inputInfo{
16897                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16898                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16899                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16900                         },
16901                         outputs: []outputInfo{
16902                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16903                         },
16904                 },
16905         },
16906         {
16907                 name:   "XORshiftRLreg",
16908                 argLen: 3,
16909                 asm:    arm.AEOR,
16910                 reg: regInfo{
16911                         inputs: []inputInfo{
16912                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16913                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16914                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16915                         },
16916                         outputs: []outputInfo{
16917                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16918                         },
16919                 },
16920         },
16921         {
16922                 name:   "XORshiftRAreg",
16923                 argLen: 3,
16924                 asm:    arm.AEOR,
16925                 reg: regInfo{
16926                         inputs: []inputInfo{
16927                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16928                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16929                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16930                         },
16931                         outputs: []outputInfo{
16932                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16933                         },
16934                 },
16935         },
16936         {
16937                 name:   "BICshiftLLreg",
16938                 argLen: 3,
16939                 asm:    arm.ABIC,
16940                 reg: regInfo{
16941                         inputs: []inputInfo{
16942                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16943                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16944                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16945                         },
16946                         outputs: []outputInfo{
16947                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16948                         },
16949                 },
16950         },
16951         {
16952                 name:   "BICshiftRLreg",
16953                 argLen: 3,
16954                 asm:    arm.ABIC,
16955                 reg: regInfo{
16956                         inputs: []inputInfo{
16957                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16958                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16959                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16960                         },
16961                         outputs: []outputInfo{
16962                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16963                         },
16964                 },
16965         },
16966         {
16967                 name:   "BICshiftRAreg",
16968                 argLen: 3,
16969                 asm:    arm.ABIC,
16970                 reg: regInfo{
16971                         inputs: []inputInfo{
16972                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16973                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16974                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16975                         },
16976                         outputs: []outputInfo{
16977                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16978                         },
16979                 },
16980         },
16981         {
16982                 name:   "MVNshiftLLreg",
16983                 argLen: 2,
16984                 asm:    arm.AMVN,
16985                 reg: regInfo{
16986                         inputs: []inputInfo{
16987                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16988                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16989                         },
16990                         outputs: []outputInfo{
16991                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16992                         },
16993                 },
16994         },
16995         {
16996                 name:   "MVNshiftRLreg",
16997                 argLen: 2,
16998                 asm:    arm.AMVN,
16999                 reg: regInfo{
17000                         inputs: []inputInfo{
17001                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17002                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17003                         },
17004                         outputs: []outputInfo{
17005                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17006                         },
17007                 },
17008         },
17009         {
17010                 name:   "MVNshiftRAreg",
17011                 argLen: 2,
17012                 asm:    arm.AMVN,
17013                 reg: regInfo{
17014                         inputs: []inputInfo{
17015                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17016                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17017                         },
17018                         outputs: []outputInfo{
17019                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17020                         },
17021                 },
17022         },
17023         {
17024                 name:   "ADCshiftLLreg",
17025                 argLen: 4,
17026                 asm:    arm.AADC,
17027                 reg: regInfo{
17028                         inputs: []inputInfo{
17029                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17030                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17031                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17032                         },
17033                         outputs: []outputInfo{
17034                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17035                         },
17036                 },
17037         },
17038         {
17039                 name:   "ADCshiftRLreg",
17040                 argLen: 4,
17041                 asm:    arm.AADC,
17042                 reg: regInfo{
17043                         inputs: []inputInfo{
17044                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17045                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17046                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17047                         },
17048                         outputs: []outputInfo{
17049                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17050                         },
17051                 },
17052         },
17053         {
17054                 name:   "ADCshiftRAreg",
17055                 argLen: 4,
17056                 asm:    arm.AADC,
17057                 reg: regInfo{
17058                         inputs: []inputInfo{
17059                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17060                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17061                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17062                         },
17063                         outputs: []outputInfo{
17064                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17065                         },
17066                 },
17067         },
17068         {
17069                 name:   "SBCshiftLLreg",
17070                 argLen: 4,
17071                 asm:    arm.ASBC,
17072                 reg: regInfo{
17073                         inputs: []inputInfo{
17074                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17075                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17076                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17077                         },
17078                         outputs: []outputInfo{
17079                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17080                         },
17081                 },
17082         },
17083         {
17084                 name:   "SBCshiftRLreg",
17085                 argLen: 4,
17086                 asm:    arm.ASBC,
17087                 reg: regInfo{
17088                         inputs: []inputInfo{
17089                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17090                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17091                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17092                         },
17093                         outputs: []outputInfo{
17094                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17095                         },
17096                 },
17097         },
17098         {
17099                 name:   "SBCshiftRAreg",
17100                 argLen: 4,
17101                 asm:    arm.ASBC,
17102                 reg: regInfo{
17103                         inputs: []inputInfo{
17104                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17105                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17106                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17107                         },
17108                         outputs: []outputInfo{
17109                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17110                         },
17111                 },
17112         },
17113         {
17114                 name:   "RSCshiftLLreg",
17115                 argLen: 4,
17116                 asm:    arm.ARSC,
17117                 reg: regInfo{
17118                         inputs: []inputInfo{
17119                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17120                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17121                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17122                         },
17123                         outputs: []outputInfo{
17124                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17125                         },
17126                 },
17127         },
17128         {
17129                 name:   "RSCshiftRLreg",
17130                 argLen: 4,
17131                 asm:    arm.ARSC,
17132                 reg: regInfo{
17133                         inputs: []inputInfo{
17134                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17135                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17136                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17137                         },
17138                         outputs: []outputInfo{
17139                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17140                         },
17141                 },
17142         },
17143         {
17144                 name:   "RSCshiftRAreg",
17145                 argLen: 4,
17146                 asm:    arm.ARSC,
17147                 reg: regInfo{
17148                         inputs: []inputInfo{
17149                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17150                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17151                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17152                         },
17153                         outputs: []outputInfo{
17154                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17155                         },
17156                 },
17157         },
17158         {
17159                 name:   "ADDSshiftLLreg",
17160                 argLen: 3,
17161                 asm:    arm.AADD,
17162                 reg: regInfo{
17163                         inputs: []inputInfo{
17164                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17165                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17166                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17167                         },
17168                         outputs: []outputInfo{
17169                                 {1, 0},
17170                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17171                         },
17172                 },
17173         },
17174         {
17175                 name:   "ADDSshiftRLreg",
17176                 argLen: 3,
17177                 asm:    arm.AADD,
17178                 reg: regInfo{
17179                         inputs: []inputInfo{
17180                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17181                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17182                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17183                         },
17184                         outputs: []outputInfo{
17185                                 {1, 0},
17186                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17187                         },
17188                 },
17189         },
17190         {
17191                 name:   "ADDSshiftRAreg",
17192                 argLen: 3,
17193                 asm:    arm.AADD,
17194                 reg: regInfo{
17195                         inputs: []inputInfo{
17196                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17197                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17198                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17199                         },
17200                         outputs: []outputInfo{
17201                                 {1, 0},
17202                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17203                         },
17204                 },
17205         },
17206         {
17207                 name:   "SUBSshiftLLreg",
17208                 argLen: 3,
17209                 asm:    arm.ASUB,
17210                 reg: regInfo{
17211                         inputs: []inputInfo{
17212                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17213                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17214                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17215                         },
17216                         outputs: []outputInfo{
17217                                 {1, 0},
17218                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17219                         },
17220                 },
17221         },
17222         {
17223                 name:   "SUBSshiftRLreg",
17224                 argLen: 3,
17225                 asm:    arm.ASUB,
17226                 reg: regInfo{
17227                         inputs: []inputInfo{
17228                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17229                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17230                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17231                         },
17232                         outputs: []outputInfo{
17233                                 {1, 0},
17234                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17235                         },
17236                 },
17237         },
17238         {
17239                 name:   "SUBSshiftRAreg",
17240                 argLen: 3,
17241                 asm:    arm.ASUB,
17242                 reg: regInfo{
17243                         inputs: []inputInfo{
17244                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17245                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17246                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17247                         },
17248                         outputs: []outputInfo{
17249                                 {1, 0},
17250                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17251                         },
17252                 },
17253         },
17254         {
17255                 name:   "RSBSshiftLLreg",
17256                 argLen: 3,
17257                 asm:    arm.ARSB,
17258                 reg: regInfo{
17259                         inputs: []inputInfo{
17260                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17261                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17262                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17263                         },
17264                         outputs: []outputInfo{
17265                                 {1, 0},
17266                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17267                         },
17268                 },
17269         },
17270         {
17271                 name:   "RSBSshiftRLreg",
17272                 argLen: 3,
17273                 asm:    arm.ARSB,
17274                 reg: regInfo{
17275                         inputs: []inputInfo{
17276                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17277                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17278                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17279                         },
17280                         outputs: []outputInfo{
17281                                 {1, 0},
17282                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17283                         },
17284                 },
17285         },
17286         {
17287                 name:   "RSBSshiftRAreg",
17288                 argLen: 3,
17289                 asm:    arm.ARSB,
17290                 reg: regInfo{
17291                         inputs: []inputInfo{
17292                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17293                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17294                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17295                         },
17296                         outputs: []outputInfo{
17297                                 {1, 0},
17298                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17299                         },
17300                 },
17301         },
17302         {
17303                 name:   "CMP",
17304                 argLen: 2,
17305                 asm:    arm.ACMP,
17306                 reg: regInfo{
17307                         inputs: []inputInfo{
17308                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17309                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17332                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17355                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17378                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17390                         },
17391                 },
17392         },
17393         {
17394                 name:   "CMPF",
17395                 argLen: 2,
17396                 asm:    arm.ACMPF,
17397                 reg: regInfo{
17398                         inputs: []inputInfo{
17399                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17400                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17401                         },
17402                 },
17403         },
17404         {
17405                 name:   "CMPD",
17406                 argLen: 2,
17407                 asm:    arm.ACMPD,
17408                 reg: regInfo{
17409                         inputs: []inputInfo{
17410                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17411                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17423                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17435                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17447                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17459                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17471                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17483                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17495                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17507                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17519                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17531                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17543                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17555                                 {1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17556                         },
17557                 },
17558         },
17559         {
17560                 name:   "CMPshiftLLreg",
17561                 argLen: 3,
17562                 asm:    arm.ACMP,
17563                 reg: regInfo{
17564                         inputs: []inputInfo{
17565                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17566                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17567                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17568                         },
17569                 },
17570         },
17571         {
17572                 name:   "CMPshiftRLreg",
17573                 argLen: 3,
17574                 asm:    arm.ACMP,
17575                 reg: regInfo{
17576                         inputs: []inputInfo{
17577                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17578                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17579                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17580                         },
17581                 },
17582         },
17583         {
17584                 name:   "CMPshiftRAreg",
17585                 argLen: 3,
17586                 asm:    arm.ACMP,
17587                 reg: regInfo{
17588                         inputs: []inputInfo{
17589                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17590                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17591                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17592                         },
17593                 },
17594         },
17595         {
17596                 name:   "CMNshiftLLreg",
17597                 argLen: 3,
17598                 asm:    arm.ACMN,
17599                 reg: regInfo{
17600                         inputs: []inputInfo{
17601                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17602                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17603                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17604                         },
17605                 },
17606         },
17607         {
17608                 name:   "CMNshiftRLreg",
17609                 argLen: 3,
17610                 asm:    arm.ACMN,
17611                 reg: regInfo{
17612                         inputs: []inputInfo{
17613                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17614                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17615                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17616                         },
17617                 },
17618         },
17619         {
17620                 name:   "CMNshiftRAreg",
17621                 argLen: 3,
17622                 asm:    arm.ACMN,
17623                 reg: regInfo{
17624                         inputs: []inputInfo{
17625                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17626                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17627                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17628                         },
17629                 },
17630         },
17631         {
17632                 name:   "TSTshiftLLreg",
17633                 argLen: 3,
17634                 asm:    arm.ATST,
17635                 reg: regInfo{
17636                         inputs: []inputInfo{
17637                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17638                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17639                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17640                         },
17641                 },
17642         },
17643         {
17644                 name:   "TSTshiftRLreg",
17645                 argLen: 3,
17646                 asm:    arm.ATST,
17647                 reg: regInfo{
17648                         inputs: []inputInfo{
17649                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17650                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17651                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17652                         },
17653                 },
17654         },
17655         {
17656                 name:   "TSTshiftRAreg",
17657                 argLen: 3,
17658                 asm:    arm.ATST,
17659                 reg: regInfo{
17660                         inputs: []inputInfo{
17661                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17662                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17663                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17664                         },
17665                 },
17666         },
17667         {
17668                 name:   "TEQshiftLLreg",
17669                 argLen: 3,
17670                 asm:    arm.ATEQ,
17671                 reg: regInfo{
17672                         inputs: []inputInfo{
17673                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17674                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17675                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17676                         },
17677                 },
17678         },
17679         {
17680                 name:   "TEQshiftRLreg",
17681                 argLen: 3,
17682                 asm:    arm.ATEQ,
17683                 reg: regInfo{
17684                         inputs: []inputInfo{
17685                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17686                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17687                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17688                         },
17689                 },
17690         },
17691         {
17692                 name:   "TEQshiftRAreg",
17693                 argLen: 3,
17694                 asm:    arm.ATEQ,
17695                 reg: regInfo{
17696                         inputs: []inputInfo{
17697                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17698                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17699                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17700                         },
17701                 },
17702         },
17703         {
17704                 name:   "CMPF0",
17705                 argLen: 1,
17706                 asm:    arm.ACMPF,
17707                 reg: regInfo{
17708                         inputs: []inputInfo{
17709                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17710                         },
17711                 },
17712         },
17713         {
17714                 name:   "CMPD0",
17715                 argLen: 1,
17716                 asm:    arm.ACMPD,
17717                 reg: regInfo{
17718                         inputs: []inputInfo{
17719                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // SP SB
17769                         },
17770                         outputs: []outputInfo{
17771                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17785                         },
17786                         outputs: []outputInfo{
17787                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17801                         },
17802                         outputs: []outputInfo{
17803                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17817                         },
17818                         outputs: []outputInfo{
17819                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17833                         },
17834                         outputs: []outputInfo{
17835                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17849                         },
17850                         outputs: []outputInfo{
17851                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17865                         },
17866                         outputs: []outputInfo{
17867                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17881                         },
17882                         outputs: []outputInfo{
17883                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17897                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17911                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17925                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17939                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17953                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17954                         },
17955                 },
17956         },
17957         {
17958                 name:   "MOVWloadidx",
17959                 argLen: 3,
17960                 asm:    arm.AMOVW,
17961                 reg: regInfo{
17962                         inputs: []inputInfo{
17963                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17964                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17965                         },
17966                         outputs: []outputInfo{
17967                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17979                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17980                         },
17981                         outputs: []outputInfo{
17982                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17994                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17995                         },
17996                         outputs: []outputInfo{
17997                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18009                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18010                         },
18011                         outputs: []outputInfo{
18012                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18013                         },
18014                 },
18015         },
18016         {
18017                 name:   "MOVBUloadidx",
18018                 argLen: 3,
18019                 asm:    arm.AMOVBU,
18020                 reg: regInfo{
18021                         inputs: []inputInfo{
18022                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18023                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18024                         },
18025                         outputs: []outputInfo{
18026                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18027                         },
18028                 },
18029         },
18030         {
18031                 name:   "MOVBloadidx",
18032                 argLen: 3,
18033                 asm:    arm.AMOVB,
18034                 reg: regInfo{
18035                         inputs: []inputInfo{
18036                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18037                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18038                         },
18039                         outputs: []outputInfo{
18040                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18041                         },
18042                 },
18043         },
18044         {
18045                 name:   "MOVHUloadidx",
18046                 argLen: 3,
18047                 asm:    arm.AMOVHU,
18048                 reg: regInfo{
18049                         inputs: []inputInfo{
18050                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18051                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18052                         },
18053                         outputs: []outputInfo{
18054                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18055                         },
18056                 },
18057         },
18058         {
18059                 name:   "MOVHloadidx",
18060                 argLen: 3,
18061                 asm:    arm.AMOVH,
18062                 reg: regInfo{
18063                         inputs: []inputInfo{
18064                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18065                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18066                         },
18067                         outputs: []outputInfo{
18068                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18069                         },
18070                 },
18071         },
18072         {
18073                 name:   "MOVWstoreidx",
18074                 argLen: 4,
18075                 asm:    arm.AMOVW,
18076                 reg: regInfo{
18077                         inputs: []inputInfo{
18078                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18079                                 {2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18080                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18092                                 {2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18093                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18105                                 {2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18106                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
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},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18118                                 {2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18119                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18120                         },
18121                 },
18122         },
18123         {
18124                 name:   "MOVBstoreidx",
18125                 argLen: 4,
18126                 asm:    arm.AMOVB,
18127                 reg: regInfo{
18128                         inputs: []inputInfo{
18129                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18130                                 {2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18131                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18132                         },
18133                 },
18134         },
18135         {
18136                 name:   "MOVHstoreidx",
18137                 argLen: 4,
18138                 asm:    arm.AMOVH,
18139                 reg: regInfo{
18140                         inputs: []inputInfo{
18141                                 {1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18142                                 {2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18143                                 {0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18144                         },
18145                 },
18146         },
18147         {
18148                 name:   "MOVBreg",
18149                 argLen: 1,
18150                 asm:    arm.AMOVBS,
18151                 reg: regInfo{
18152                         inputs: []inputInfo{
18153                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18154                         },
18155                         outputs: []outputInfo{
18156                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18157                         },
18158                 },
18159         },
18160         {
18161                 name:   "MOVBUreg",
18162                 argLen: 1,
18163                 asm:    arm.AMOVBU,
18164                 reg: regInfo{
18165                         inputs: []inputInfo{
18166                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18167                         },
18168                         outputs: []outputInfo{
18169                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18170                         },
18171                 },
18172         },
18173         {
18174                 name:   "MOVHreg",
18175                 argLen: 1,
18176                 asm:    arm.AMOVHS,
18177                 reg: regInfo{
18178                         inputs: []inputInfo{
18179                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18180                         },
18181                         outputs: []outputInfo{
18182                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18183                         },
18184                 },
18185         },
18186         {
18187                 name:   "MOVHUreg",
18188                 argLen: 1,
18189                 asm:    arm.AMOVHU,
18190                 reg: regInfo{
18191                         inputs: []inputInfo{
18192                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18193                         },
18194                         outputs: []outputInfo{
18195                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18196                         },
18197                 },
18198         },
18199         {
18200                 name:   "MOVWreg",
18201                 argLen: 1,
18202                 asm:    arm.AMOVW,
18203                 reg: regInfo{
18204                         inputs: []inputInfo{
18205                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18206                         },
18207                         outputs: []outputInfo{
18208                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18209                         },
18210                 },
18211         },
18212         {
18213                 name:         "MOVWnop",
18214                 argLen:       1,
18215                 resultInArg0: true,
18216                 reg: regInfo{
18217                         inputs: []inputInfo{
18218                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18219                         },
18220                         outputs: []outputInfo{
18221                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18222                         },
18223                 },
18224         },
18225         {
18226                 name:   "MOVWF",
18227                 argLen: 1,
18228                 asm:    arm.AMOVWF,
18229                 reg: regInfo{
18230                         inputs: []inputInfo{
18231                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18232                         },
18233                         clobbers: 2147483648, // F15
18234                         outputs: []outputInfo{
18235                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18236                         },
18237                 },
18238         },
18239         {
18240                 name:   "MOVWD",
18241                 argLen: 1,
18242                 asm:    arm.AMOVWD,
18243                 reg: regInfo{
18244                         inputs: []inputInfo{
18245                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18246                         },
18247                         clobbers: 2147483648, // F15
18248                         outputs: []outputInfo{
18249                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18250                         },
18251                 },
18252         },
18253         {
18254                 name:   "MOVWUF",
18255                 argLen: 1,
18256                 asm:    arm.AMOVWF,
18257                 reg: regInfo{
18258                         inputs: []inputInfo{
18259                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18260                         },
18261                         clobbers: 2147483648, // F15
18262                         outputs: []outputInfo{
18263                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18264                         },
18265                 },
18266         },
18267         {
18268                 name:   "MOVWUD",
18269                 argLen: 1,
18270                 asm:    arm.AMOVWD,
18271                 reg: regInfo{
18272                         inputs: []inputInfo{
18273                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18274                         },
18275                         clobbers: 2147483648, // F15
18276                         outputs: []outputInfo{
18277                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18278                         },
18279                 },
18280         },
18281         {
18282                 name:   "MOVFW",
18283                 argLen: 1,
18284                 asm:    arm.AMOVFW,
18285                 reg: regInfo{
18286                         inputs: []inputInfo{
18287                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18288                         },
18289                         clobbers: 2147483648, // F15
18290                         outputs: []outputInfo{
18291                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18292                         },
18293                 },
18294         },
18295         {
18296                 name:   "MOVDW",
18297                 argLen: 1,
18298                 asm:    arm.AMOVDW,
18299                 reg: regInfo{
18300                         inputs: []inputInfo{
18301                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18302                         },
18303                         clobbers: 2147483648, // F15
18304                         outputs: []outputInfo{
18305                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18306                         },
18307                 },
18308         },
18309         {
18310                 name:   "MOVFWU",
18311                 argLen: 1,
18312                 asm:    arm.AMOVFW,
18313                 reg: regInfo{
18314                         inputs: []inputInfo{
18315                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18316                         },
18317                         clobbers: 2147483648, // F15
18318                         outputs: []outputInfo{
18319                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18320                         },
18321                 },
18322         },
18323         {
18324                 name:   "MOVDWU",
18325                 argLen: 1,
18326                 asm:    arm.AMOVDW,
18327                 reg: regInfo{
18328                         inputs: []inputInfo{
18329                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18330                         },
18331                         clobbers: 2147483648, // F15
18332                         outputs: []outputInfo{
18333                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18334                         },
18335                 },
18336         },
18337         {
18338                 name:   "MOVFD",
18339                 argLen: 1,
18340                 asm:    arm.AMOVFD,
18341                 reg: regInfo{
18342                         inputs: []inputInfo{
18343                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18344                         },
18345                         outputs: []outputInfo{
18346                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18347                         },
18348                 },
18349         },
18350         {
18351                 name:   "MOVDF",
18352                 argLen: 1,
18353                 asm:    arm.AMOVDF,
18354                 reg: regInfo{
18355                         inputs: []inputInfo{
18356                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18357                         },
18358                         outputs: []outputInfo{
18359                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18372                         },
18373                         outputs: []outputInfo{
18374                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18387                         },
18388                         outputs: []outputInfo{
18389                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18390                         },
18391                 },
18392         },
18393         {
18394                 name:   "SRAcond",
18395                 argLen: 3,
18396                 asm:    arm.ASRA,
18397                 reg: regInfo{
18398                         inputs: []inputInfo{
18399                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18400                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18401                         },
18402                         outputs: []outputInfo{
18403                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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},   // R7
18437                                 {0, 29695}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 SP R14
18438                         },
18439                         clobbers: 4294924287, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18451                         },
18452                         clobbers: 4294924287, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18453                 },
18454         },
18455         {
18456                 name:           "LoweredNilCheck",
18457                 argLen:         2,
18458                 nilCheck:       true,
18459                 faultOnNilArg0: true,
18460                 reg: regInfo{
18461                         inputs: []inputInfo{
18462                                 {0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18463                         },
18464                 },
18465         },
18466         {
18467                 name:   "Equal",
18468                 argLen: 1,
18469                 reg: regInfo{
18470                         outputs: []outputInfo{
18471                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18472                         },
18473                 },
18474         },
18475         {
18476                 name:   "NotEqual",
18477                 argLen: 1,
18478                 reg: regInfo{
18479                         outputs: []outputInfo{
18480                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18481                         },
18482                 },
18483         },
18484         {
18485                 name:   "LessThan",
18486                 argLen: 1,
18487                 reg: regInfo{
18488                         outputs: []outputInfo{
18489                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18490                         },
18491                 },
18492         },
18493         {
18494                 name:   "LessEqual",
18495                 argLen: 1,
18496                 reg: regInfo{
18497                         outputs: []outputInfo{
18498                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18499                         },
18500                 },
18501         },
18502         {
18503                 name:   "GreaterThan",
18504                 argLen: 1,
18505                 reg: regInfo{
18506                         outputs: []outputInfo{
18507                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18508                         },
18509                 },
18510         },
18511         {
18512                 name:   "GreaterEqual",
18513                 argLen: 1,
18514                 reg: regInfo{
18515                         outputs: []outputInfo{
18516                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18517                         },
18518                 },
18519         },
18520         {
18521                 name:   "LessThanU",
18522                 argLen: 1,
18523                 reg: regInfo{
18524                         outputs: []outputInfo{
18525                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18526                         },
18527                 },
18528         },
18529         {
18530                 name:   "LessEqualU",
18531                 argLen: 1,
18532                 reg: regInfo{
18533                         outputs: []outputInfo{
18534                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18535                         },
18536                 },
18537         },
18538         {
18539                 name:   "GreaterThanU",
18540                 argLen: 1,
18541                 reg: regInfo{
18542                         outputs: []outputInfo{
18543                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18544                         },
18545                 },
18546         },
18547         {
18548                 name:   "GreaterEqualU",
18549                 argLen: 1,
18550                 reg: regInfo{
18551                         outputs: []outputInfo{
18552                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R1
18564                                 {1, 1}, // R0
18565                         },
18566                         clobbers: 20482, // R1 R12 R14
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}, // R2
18578                                 {1, 2}, // R1
18579                         },
18580                         clobbers: 20487, // R0 R1 R2 R12 R14
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},     // R1
18592                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18593                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18594                         },
18595                         clobbers: 2, // R1
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},     // R2
18608                                 {1, 2},     // R1
18609                                 {2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18610                         },
18611                         clobbers: 6, // R1 R2
18612                 },
18613         },
18614         {
18615                 name:      "LoweredGetClosurePtr",
18616                 argLen:    0,
18617                 zeroWidth: true,
18618                 reg: regInfo{
18619                         outputs: []outputInfo{
18620                                 {0, 128}, // R7
18621                         },
18622                 },
18623         },
18624         {
18625                 name:              "LoweredGetCallerSP",
18626                 argLen:            1,
18627                 rematerializeable: true,
18628                 reg: regInfo{
18629                         outputs: []outputInfo{
18630                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18631                         },
18632                 },
18633         },
18634         {
18635                 name:              "LoweredGetCallerPC",
18636                 argLen:            0,
18637                 rematerializeable: true,
18638                 reg: regInfo{
18639                         outputs: []outputInfo{
18640                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R2
18652                                 {1, 8}, // R3
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}, // R1
18664                                 {1, 4}, // R2
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}, // R0
18676                                 {1, 2}, // R1
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}, // R4
18688                                 {1, 4},  // R2
18689                                 {2, 8},  // R3
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}, // R4
18701                                 {1, 2},  // R1
18702                                 {2, 4},  // R2
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}, // R4
18714                                 {1, 1},  // R0
18715                                 {2, 2},  // R1
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, // R12 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18737                         outputs: []outputInfo{
18738                                 {0, 256}, // R8
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18751                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18752                         },
18753                         outputs: []outputInfo{
18754                                 {1, 0},
18755                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18756                         },
18757                 },
18758         },
18759         {
18760                 name:   "ADCzerocarry",
18761                 argLen: 1,
18762                 asm:    arm64.AADC,
18763                 reg: regInfo{
18764                         outputs: []outputInfo{
18765                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18777                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18778                         },
18779                         outputs: []outputInfo{
18780                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP
18792                         },
18793                         outputs: []outputInfo{
18794                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18806                         },
18807                         outputs: []outputInfo{
18808                                 {1, 0},
18809                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18821                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18822                         },
18823                         outputs: []outputInfo{
18824                                 {1, 0},
18825                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18826                         },
18827                 },
18828         },
18829         {
18830                 name:   "SUB",
18831                 argLen: 2,
18832                 asm:    arm64.ASUB,
18833                 reg: regInfo{
18834                         inputs: []inputInfo{
18835                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18836                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18837                         },
18838                         outputs: []outputInfo{
18839                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18851                         },
18852                         outputs: []outputInfo{
18853                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18854                         },
18855                 },
18856         },
18857         {
18858                 name:   "SBCSflags",
18859                 argLen: 3,
18860                 asm:    arm64.ASBCS,
18861                 reg: regInfo{
18862                         inputs: []inputInfo{
18863                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18864                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18865                         },
18866                         outputs: []outputInfo{
18867                                 {1, 0},
18868                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18869                         },
18870                 },
18871         },
18872         {
18873                 name:   "SUBSflags",
18874                 argLen: 2,
18875                 asm:    arm64.ASUBS,
18876                 reg: regInfo{
18877                         inputs: []inputInfo{
18878                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18879                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
18880                         },
18881                         outputs: []outputInfo{
18882                                 {1, 0},
18883                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18895                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18896                         },
18897                         outputs: []outputInfo{
18898                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18910                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18911                         },
18912                         outputs: []outputInfo{
18913                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18925                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18926                         },
18927                         outputs: []outputInfo{
18928                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18940                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18941                         },
18942                         outputs: []outputInfo{
18943                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18955                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18956                         },
18957                         outputs: []outputInfo{
18958                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18970                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18971                         },
18972                         outputs: []outputInfo{
18973                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18985                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
18986                         },
18987                         outputs: []outputInfo{
18988                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19000                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19001                         },
19002                         outputs: []outputInfo{
19003                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19004                         },
19005                 },
19006         },
19007         {
19008                 name:   "DIV",
19009                 argLen: 2,
19010                 asm:    arm64.ASDIV,
19011                 reg: regInfo{
19012                         inputs: []inputInfo{
19013                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19014                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19015                         },
19016                         outputs: []outputInfo{
19017                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19018                         },
19019                 },
19020         },
19021         {
19022                 name:   "UDIV",
19023                 argLen: 2,
19024                 asm:    arm64.AUDIV,
19025                 reg: regInfo{
19026                         inputs: []inputInfo{
19027                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19028                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19029                         },
19030                         outputs: []outputInfo{
19031                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19032                         },
19033                 },
19034         },
19035         {
19036                 name:   "DIVW",
19037                 argLen: 2,
19038                 asm:    arm64.ASDIVW,
19039                 reg: regInfo{
19040                         inputs: []inputInfo{
19041                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19042                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19043                         },
19044                         outputs: []outputInfo{
19045                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19046                         },
19047                 },
19048         },
19049         {
19050                 name:   "UDIVW",
19051                 argLen: 2,
19052                 asm:    arm64.AUDIVW,
19053                 reg: regInfo{
19054                         inputs: []inputInfo{
19055                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19056                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19057                         },
19058                         outputs: []outputInfo{
19059                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19060                         },
19061                 },
19062         },
19063         {
19064                 name:   "MOD",
19065                 argLen: 2,
19066                 asm:    arm64.AREM,
19067                 reg: regInfo{
19068                         inputs: []inputInfo{
19069                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19070                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19071                         },
19072                         outputs: []outputInfo{
19073                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19074                         },
19075                 },
19076         },
19077         {
19078                 name:   "UMOD",
19079                 argLen: 2,
19080                 asm:    arm64.AUREM,
19081                 reg: regInfo{
19082                         inputs: []inputInfo{
19083                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19084                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19085                         },
19086                         outputs: []outputInfo{
19087                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19088                         },
19089                 },
19090         },
19091         {
19092                 name:   "MODW",
19093                 argLen: 2,
19094                 asm:    arm64.AREMW,
19095                 reg: regInfo{
19096                         inputs: []inputInfo{
19097                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19098                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19099                         },
19100                         outputs: []outputInfo{
19101                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19102                         },
19103                 },
19104         },
19105         {
19106                 name:   "UMODW",
19107                 argLen: 2,
19108                 asm:    arm64.AUREMW,
19109                 reg: regInfo{
19110                         inputs: []inputInfo{
19111                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19112                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19113                         },
19114                         outputs: []outputInfo{
19115                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19127                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19128                         },
19129                         outputs: []outputInfo{
19130                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19142                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19143                         },
19144                         outputs: []outputInfo{
19145                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19146                         },
19147                 },
19148         },
19149         {
19150                 name:   "FSUBS",
19151                 argLen: 2,
19152                 asm:    arm64.AFSUBS,
19153                 reg: regInfo{
19154                         inputs: []inputInfo{
19155                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19156                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19157                         },
19158                         outputs: []outputInfo{
19159                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19160                         },
19161                 },
19162         },
19163         {
19164                 name:   "FSUBD",
19165                 argLen: 2,
19166                 asm:    arm64.AFSUBD,
19167                 reg: regInfo{
19168                         inputs: []inputInfo{
19169                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19170                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19171                         },
19172                         outputs: []outputInfo{
19173                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19185                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19186                         },
19187                         outputs: []outputInfo{
19188                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19200                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19201                         },
19202                         outputs: []outputInfo{
19203                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19215                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19216                         },
19217                         outputs: []outputInfo{
19218                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19230                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19231                         },
19232                         outputs: []outputInfo{
19233                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19234                         },
19235                 },
19236         },
19237         {
19238                 name:   "FDIVS",
19239                 argLen: 2,
19240                 asm:    arm64.AFDIVS,
19241                 reg: regInfo{
19242                         inputs: []inputInfo{
19243                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19244                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19245                         },
19246                         outputs: []outputInfo{
19247                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19248                         },
19249                 },
19250         },
19251         {
19252                 name:   "FDIVD",
19253                 argLen: 2,
19254                 asm:    arm64.AFDIVD,
19255                 reg: regInfo{
19256                         inputs: []inputInfo{
19257                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19258                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19259                         },
19260                         outputs: []outputInfo{
19261                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19273                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19274                         },
19275                         outputs: []outputInfo{
19276                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19288                         },
19289                         outputs: []outputInfo{
19290                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19302                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19303                         },
19304                         outputs: []outputInfo{
19305                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19317                         },
19318                         outputs: []outputInfo{
19319                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19331                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19332                         },
19333                         outputs: []outputInfo{
19334                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19346                         },
19347                         outputs: []outputInfo{
19348                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19349                         },
19350                 },
19351         },
19352         {
19353                 name:   "BIC",
19354                 argLen: 2,
19355                 asm:    arm64.ABIC,
19356                 reg: regInfo{
19357                         inputs: []inputInfo{
19358                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19359                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19360                         },
19361                         outputs: []outputInfo{
19362                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19363                         },
19364                 },
19365         },
19366         {
19367                 name:   "EON",
19368                 argLen: 2,
19369                 asm:    arm64.AEON,
19370                 reg: regInfo{
19371                         inputs: []inputInfo{
19372                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19373                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19374                         },
19375                         outputs: []outputInfo{
19376                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19377                         },
19378                 },
19379         },
19380         {
19381                 name:   "ORN",
19382                 argLen: 2,
19383                 asm:    arm64.AORN,
19384                 reg: regInfo{
19385                         inputs: []inputInfo{
19386                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19387                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19388                         },
19389                         outputs: []outputInfo{
19390                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19391                         },
19392                 },
19393         },
19394         {
19395                 name:   "MVN",
19396                 argLen: 1,
19397                 asm:    arm64.AMVN,
19398                 reg: regInfo{
19399                         inputs: []inputInfo{
19400                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19401                         },
19402                         outputs: []outputInfo{
19403                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19404                         },
19405                 },
19406         },
19407         {
19408                 name:   "NEG",
19409                 argLen: 1,
19410                 asm:    arm64.ANEG,
19411                 reg: regInfo{
19412                         inputs: []inputInfo{
19413                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19414                         },
19415                         outputs: []outputInfo{
19416                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19417                         },
19418                 },
19419         },
19420         {
19421                 name:   "NEGSflags",
19422                 argLen: 1,
19423                 asm:    arm64.ANEGS,
19424                 reg: regInfo{
19425                         inputs: []inputInfo{
19426                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19427                         },
19428                         outputs: []outputInfo{
19429                                 {1, 0},
19430                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19431                         },
19432                 },
19433         },
19434         {
19435                 name:   "NGCzerocarry",
19436                 argLen: 1,
19437                 asm:    arm64.ANGC,
19438                 reg: regInfo{
19439                         outputs: []outputInfo{
19440                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19441                         },
19442                 },
19443         },
19444         {
19445                 name:   "FABSD",
19446                 argLen: 1,
19447                 asm:    arm64.AFABSD,
19448                 reg: regInfo{
19449                         inputs: []inputInfo{
19450                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19451                         },
19452                         outputs: []outputInfo{
19453                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19454                         },
19455                 },
19456         },
19457         {
19458                 name:   "FNEGS",
19459                 argLen: 1,
19460                 asm:    arm64.AFNEGS,
19461                 reg: regInfo{
19462                         inputs: []inputInfo{
19463                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19464                         },
19465                         outputs: []outputInfo{
19466                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19467                         },
19468                 },
19469         },
19470         {
19471                 name:   "FNEGD",
19472                 argLen: 1,
19473                 asm:    arm64.AFNEGD,
19474                 reg: regInfo{
19475                         inputs: []inputInfo{
19476                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19477                         },
19478                         outputs: []outputInfo{
19479                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19480                         },
19481                 },
19482         },
19483         {
19484                 name:   "FSQRTD",
19485                 argLen: 1,
19486                 asm:    arm64.AFSQRTD,
19487                 reg: regInfo{
19488                         inputs: []inputInfo{
19489                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19490                         },
19491                         outputs: []outputInfo{
19492                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19493                         },
19494                 },
19495         },
19496         {
19497                 name:   "FSQRTS",
19498                 argLen: 1,
19499                 asm:    arm64.AFSQRTS,
19500                 reg: regInfo{
19501                         inputs: []inputInfo{
19502                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19503                         },
19504                         outputs: []outputInfo{
19505                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19506                         },
19507                 },
19508         },
19509         {
19510                 name:   "FMIND",
19511                 argLen: 2,
19512                 asm:    arm64.AFMIND,
19513                 reg: regInfo{
19514                         inputs: []inputInfo{
19515                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19516                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19517                         },
19518                         outputs: []outputInfo{
19519                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19520                         },
19521                 },
19522         },
19523         {
19524                 name:   "FMINS",
19525                 argLen: 2,
19526                 asm:    arm64.AFMINS,
19527                 reg: regInfo{
19528                         inputs: []inputInfo{
19529                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19530                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19531                         },
19532                         outputs: []outputInfo{
19533                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19534                         },
19535                 },
19536         },
19537         {
19538                 name:   "FMAXD",
19539                 argLen: 2,
19540                 asm:    arm64.AFMAXD,
19541                 reg: regInfo{
19542                         inputs: []inputInfo{
19543                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19544                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19545                         },
19546                         outputs: []outputInfo{
19547                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19548                         },
19549                 },
19550         },
19551         {
19552                 name:   "FMAXS",
19553                 argLen: 2,
19554                 asm:    arm64.AFMAXS,
19555                 reg: regInfo{
19556                         inputs: []inputInfo{
19557                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19558                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19559                         },
19560                         outputs: []outputInfo{
19561                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19562                         },
19563                 },
19564         },
19565         {
19566                 name:   "REV",
19567                 argLen: 1,
19568                 asm:    arm64.AREV,
19569                 reg: regInfo{
19570                         inputs: []inputInfo{
19571                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19572                         },
19573                         outputs: []outputInfo{
19574                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19575                         },
19576                 },
19577         },
19578         {
19579                 name:   "REVW",
19580                 argLen: 1,
19581                 asm:    arm64.AREVW,
19582                 reg: regInfo{
19583                         inputs: []inputInfo{
19584                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19585                         },
19586                         outputs: []outputInfo{
19587                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19588                         },
19589                 },
19590         },
19591         {
19592                 name:   "REV16",
19593                 argLen: 1,
19594                 asm:    arm64.AREV16,
19595                 reg: regInfo{
19596                         inputs: []inputInfo{
19597                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19598                         },
19599                         outputs: []outputInfo{
19600                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19601                         },
19602                 },
19603         },
19604         {
19605                 name:   "REV16W",
19606                 argLen: 1,
19607                 asm:    arm64.AREV16W,
19608                 reg: regInfo{
19609                         inputs: []inputInfo{
19610                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19611                         },
19612                         outputs: []outputInfo{
19613                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19614                         },
19615                 },
19616         },
19617         {
19618                 name:   "RBIT",
19619                 argLen: 1,
19620                 asm:    arm64.ARBIT,
19621                 reg: regInfo{
19622                         inputs: []inputInfo{
19623                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19624                         },
19625                         outputs: []outputInfo{
19626                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19627                         },
19628                 },
19629         },
19630         {
19631                 name:   "RBITW",
19632                 argLen: 1,
19633                 asm:    arm64.ARBITW,
19634                 reg: regInfo{
19635                         inputs: []inputInfo{
19636                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19637                         },
19638                         outputs: []outputInfo{
19639                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19640                         },
19641                 },
19642         },
19643         {
19644                 name:   "CLZ",
19645                 argLen: 1,
19646                 asm:    arm64.ACLZ,
19647                 reg: regInfo{
19648                         inputs: []inputInfo{
19649                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19650                         },
19651                         outputs: []outputInfo{
19652                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19653                         },
19654                 },
19655         },
19656         {
19657                 name:   "CLZW",
19658                 argLen: 1,
19659                 asm:    arm64.ACLZW,
19660                 reg: regInfo{
19661                         inputs: []inputInfo{
19662                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19663                         },
19664                         outputs: []outputInfo{
19665                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19666                         },
19667                 },
19668         },
19669         {
19670                 name:   "VCNT",
19671                 argLen: 1,
19672                 asm:    arm64.AVCNT,
19673                 reg: regInfo{
19674                         inputs: []inputInfo{
19675                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19676                         },
19677                         outputs: []outputInfo{
19678                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19679                         },
19680                 },
19681         },
19682         {
19683                 name:   "VUADDLV",
19684                 argLen: 1,
19685                 asm:    arm64.AVUADDLV,
19686                 reg: regInfo{
19687                         inputs: []inputInfo{
19688                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19689                         },
19690                         outputs: []outputInfo{
19691                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19703                         },
19704                         outputs: []outputInfo{
19705                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19717                         },
19718                         outputs: []outputInfo{
19719                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19720                         },
19721                 },
19722         },
19723         {
19724                 name:   "FMADDS",
19725                 argLen: 3,
19726                 asm:    arm64.AFMADDS,
19727                 reg: regInfo{
19728                         inputs: []inputInfo{
19729                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19730                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19731                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19732                         },
19733                         outputs: []outputInfo{
19734                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19735                         },
19736                 },
19737         },
19738         {
19739                 name:   "FMADDD",
19740                 argLen: 3,
19741                 asm:    arm64.AFMADDD,
19742                 reg: regInfo{
19743                         inputs: []inputInfo{
19744                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19745                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19746                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19747                         },
19748                         outputs: []outputInfo{
19749                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19750                         },
19751                 },
19752         },
19753         {
19754                 name:   "FNMADDS",
19755                 argLen: 3,
19756                 asm:    arm64.AFNMADDS,
19757                 reg: regInfo{
19758                         inputs: []inputInfo{
19759                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19760                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19761                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19762                         },
19763                         outputs: []outputInfo{
19764                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19765                         },
19766                 },
19767         },
19768         {
19769                 name:   "FNMADDD",
19770                 argLen: 3,
19771                 asm:    arm64.AFNMADDD,
19772                 reg: regInfo{
19773                         inputs: []inputInfo{
19774                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19775                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19776                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19777                         },
19778                         outputs: []outputInfo{
19779                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19780                         },
19781                 },
19782         },
19783         {
19784                 name:   "FMSUBS",
19785                 argLen: 3,
19786                 asm:    arm64.AFMSUBS,
19787                 reg: regInfo{
19788                         inputs: []inputInfo{
19789                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19790                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19791                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19792                         },
19793                         outputs: []outputInfo{
19794                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19795                         },
19796                 },
19797         },
19798         {
19799                 name:   "FMSUBD",
19800                 argLen: 3,
19801                 asm:    arm64.AFMSUBD,
19802                 reg: regInfo{
19803                         inputs: []inputInfo{
19804                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19805                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19806                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19807                         },
19808                         outputs: []outputInfo{
19809                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19810                         },
19811                 },
19812         },
19813         {
19814                 name:   "FNMSUBS",
19815                 argLen: 3,
19816                 asm:    arm64.AFNMSUBS,
19817                 reg: regInfo{
19818                         inputs: []inputInfo{
19819                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19820                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19821                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19822                         },
19823                         outputs: []outputInfo{
19824                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19825                         },
19826                 },
19827         },
19828         {
19829                 name:   "FNMSUBD",
19830                 argLen: 3,
19831                 asm:    arm64.AFNMSUBD,
19832                 reg: regInfo{
19833                         inputs: []inputInfo{
19834                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19835                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19836                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19837                         },
19838                         outputs: []outputInfo{
19839                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
19840                         },
19841                 },
19842         },
19843         {
19844                 name:   "MADD",
19845                 argLen: 3,
19846                 asm:    arm64.AMADD,
19847                 reg: regInfo{
19848                         inputs: []inputInfo{
19849                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19850                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19851                                 {2, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19852                         },
19853                         outputs: []outputInfo{
19854                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19855                         },
19856                 },
19857         },
19858         {
19859                 name:   "MADDW",
19860                 argLen: 3,
19861                 asm:    arm64.AMADDW,
19862                 reg: regInfo{
19863                         inputs: []inputInfo{
19864                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19865                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19866                                 {2, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19867                         },
19868                         outputs: []outputInfo{
19869                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19870                         },
19871                 },
19872         },
19873         {
19874                 name:   "MSUB",
19875                 argLen: 3,
19876                 asm:    arm64.AMSUB,
19877                 reg: regInfo{
19878                         inputs: []inputInfo{
19879                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19880                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19881                                 {2, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19882                         },
19883                         outputs: []outputInfo{
19884                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19885                         },
19886                 },
19887         },
19888         {
19889                 name:   "MSUBW",
19890                 argLen: 3,
19891                 asm:    arm64.AMSUBW,
19892                 reg: regInfo{
19893                         inputs: []inputInfo{
19894                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19895                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19896                                 {2, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19897                         },
19898                         outputs: []outputInfo{
19899                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19900                         },
19901                 },
19902         },
19903         {
19904                 name:   "SLL",
19905                 argLen: 2,
19906                 asm:    arm64.ALSL,
19907                 reg: regInfo{
19908                         inputs: []inputInfo{
19909                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19910                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19911                         },
19912                         outputs: []outputInfo{
19913                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19925                         },
19926                         outputs: []outputInfo{
19927                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19928                         },
19929                 },
19930         },
19931         {
19932                 name:   "SRL",
19933                 argLen: 2,
19934                 asm:    arm64.ALSR,
19935                 reg: regInfo{
19936                         inputs: []inputInfo{
19937                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19938                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19939                         },
19940                         outputs: []outputInfo{
19941                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19953                         },
19954                         outputs: []outputInfo{
19955                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19956                         },
19957                 },
19958         },
19959         {
19960                 name:   "SRA",
19961                 argLen: 2,
19962                 asm:    arm64.AASR,
19963                 reg: regInfo{
19964                         inputs: []inputInfo{
19965                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19966                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19967                         },
19968                         outputs: []outputInfo{
19969                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19981                         },
19982                         outputs: []outputInfo{
19983                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19984                         },
19985                 },
19986         },
19987         {
19988                 name:   "ROR",
19989                 argLen: 2,
19990                 asm:    arm64.AROR,
19991                 reg: regInfo{
19992                         inputs: []inputInfo{
19993                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19994                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
19995                         },
19996                         outputs: []outputInfo{
19997                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
19998                         },
19999                 },
20000         },
20001         {
20002                 name:   "RORW",
20003                 argLen: 2,
20004                 asm:    arm64.ARORW,
20005                 reg: regInfo{
20006                         inputs: []inputInfo{
20007                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20008                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20009                         },
20010                         outputs: []outputInfo{
20011                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20023                         },
20024                         outputs: []outputInfo{
20025                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20037                         },
20038                         outputs: []outputInfo{
20039                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20051                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20052                         },
20053                         outputs: []outputInfo{
20054                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20066                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20067                         },
20068                         outputs: []outputInfo{
20069                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
20070                         },
20071                 },
20072         },
20073         {
20074                 name:   "CMP",
20075                 argLen: 2,
20076                 asm:    arm64.ACMP,
20077                 reg: regInfo{
20078                         inputs: []inputInfo{
20079                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20080                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20092                         },
20093                 },
20094         },
20095         {
20096                 name:   "CMPW",
20097                 argLen: 2,
20098                 asm:    arm64.ACMPW,
20099                 reg: regInfo{
20100                         inputs: []inputInfo{
20101                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20102                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20125                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20148                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20171                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20194                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20206                         },
20207                 },
20208         },
20209         {
20210                 name:   "FCMPS",
20211                 argLen: 2,
20212                 asm:    arm64.AFCMPS,
20213                 reg: regInfo{
20214                         inputs: []inputInfo{
20215                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
20216                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
20217                         },
20218                 },
20219         },
20220         {
20221                 name:   "FCMPD",
20222                 argLen: 2,
20223                 asm:    arm64.AFCMPD,
20224                 reg: regInfo{
20225                         inputs: []inputInfo{
20226                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
20227                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
20228                         },
20229                 },
20230         },
20231         {
20232                 name:   "FCMPS0",
20233                 argLen: 1,
20234                 asm:    arm64.AFCMPS,
20235                 reg: regInfo{
20236                         inputs: []inputInfo{
20237                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
20238                         },
20239                 },
20240         },
20241         {
20242                 name:   "FCMPD0",
20243                 argLen: 1,
20244                 asm:    arm64.AFCMPD,
20245                 reg: regInfo{
20246                         inputs: []inputInfo{
20247                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20259                         },
20260                         outputs: []outputInfo{
20261                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20273                         },
20274                         outputs: []outputInfo{
20275                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20287                         },
20288                         outputs: []outputInfo{
20289                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20301                         },
20302                         outputs: []outputInfo{
20303                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20315                         },
20316                         outputs: []outputInfo{
20317                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20329                         },
20330                         outputs: []outputInfo{
20331                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20343                         },
20344                         outputs: []outputInfo{
20345                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20357                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20358                         },
20359                         outputs: []outputInfo{
20360                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20372                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20373                         },
20374                         outputs: []outputInfo{
20375                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20387                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20388                         },
20389                         outputs: []outputInfo{
20390                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20402                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20403                         },
20404                         outputs: []outputInfo{
20405                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20417                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20418                         },
20419                         outputs: []outputInfo{
20420                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20432                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20433                         },
20434                         outputs: []outputInfo{
20435                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20447                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20448                         },
20449                         outputs: []outputInfo{
20450                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20462                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20463                         },
20464                         outputs: []outputInfo{
20465                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20477                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20478                         },
20479                         outputs: []outputInfo{
20480                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20492                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20493                         },
20494                         outputs: []outputInfo{
20495                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20507                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20508                         },
20509                         outputs: []outputInfo{
20510                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20522                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20523                         },
20524                         outputs: []outputInfo{
20525                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20537                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20538                         },
20539                         outputs: []outputInfo{
20540                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20552                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20553                         },
20554                         outputs: []outputInfo{
20555                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20567                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20568                         },
20569                         outputs: []outputInfo{
20570                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20582                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20583                         },
20584                         outputs: []outputInfo{
20585                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20597                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20598                         },
20599                         outputs: []outputInfo{
20600                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20612                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20613                         },
20614                         outputs: []outputInfo{
20615                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20627                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20628                         },
20629                         outputs: []outputInfo{
20630                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20642                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20643                         },
20644                         outputs: []outputInfo{
20645                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20657                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20658                         },
20659                         outputs: []outputInfo{
20660                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20672                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20673                         },
20674                         outputs: []outputInfo{
20675                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20687                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20688                         },
20689                         outputs: []outputInfo{
20690                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20702                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20703                         },
20704                         outputs: []outputInfo{
20705                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20717                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20718                         },
20719                         outputs: []outputInfo{
20720                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20732                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20733                         },
20734                         outputs: []outputInfo{
20735                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20747                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20748                         },
20749                         outputs: []outputInfo{
20750                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20762                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20763                         },
20764                         outputs: []outputInfo{
20765                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20777                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20778                         },
20779                         outputs: []outputInfo{
20780                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20792                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20793                         },
20794                         outputs: []outputInfo{
20795                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20807                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20819                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20831                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20843                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20855                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20867                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20879                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20891                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20903                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20915                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
20928                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
20929                         },
20930                         outputs: []outputInfo{
20931                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
20944                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
20945                         },
20946                         outputs: []outputInfo{
20947                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20959                         },
20960                         outputs: []outputInfo{
20961                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20973                         },
20974                         outputs: []outputInfo{
20975                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
20987                         },
20988                         outputs: []outputInfo{
20989                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21001                         },
21002                         outputs: []outputInfo{
21003                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // SP SB
21053                         },
21054                         outputs: []outputInfo{
21055                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21069                         },
21070                         outputs: []outputInfo{
21071                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21085                         },
21086                         outputs: []outputInfo{
21087                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21101                         },
21102                         outputs: []outputInfo{
21103                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21117                         },
21118                         outputs: []outputInfo{
21119                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21133                         },
21134                         outputs: []outputInfo{
21135                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21149                         },
21150                         outputs: []outputInfo{
21151                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21165                         },
21166                         outputs: []outputInfo{
21167                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21181                         },
21182                         outputs: []outputInfo{
21183                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21184                                 {1, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21198                         },
21199                         outputs: []outputInfo{
21200                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21214                         },
21215                         outputs: []outputInfo{
21216                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21217                         },
21218                 },
21219         },
21220         {
21221                 name:   "MOVDloadidx",
21222                 argLen: 3,
21223                 asm:    arm64.AMOVD,
21224                 reg: regInfo{
21225                         inputs: []inputInfo{
21226                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21227                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21228                         },
21229                         outputs: []outputInfo{
21230                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21231                         },
21232                 },
21233         },
21234         {
21235                 name:   "MOVWloadidx",
21236                 argLen: 3,
21237                 asm:    arm64.AMOVW,
21238                 reg: regInfo{
21239                         inputs: []inputInfo{
21240                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21241                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21242                         },
21243                         outputs: []outputInfo{
21244                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21245                         },
21246                 },
21247         },
21248         {
21249                 name:   "MOVWUloadidx",
21250                 argLen: 3,
21251                 asm:    arm64.AMOVWU,
21252                 reg: regInfo{
21253                         inputs: []inputInfo{
21254                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21255                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21256                         },
21257                         outputs: []outputInfo{
21258                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21259                         },
21260                 },
21261         },
21262         {
21263                 name:   "MOVHloadidx",
21264                 argLen: 3,
21265                 asm:    arm64.AMOVH,
21266                 reg: regInfo{
21267                         inputs: []inputInfo{
21268                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21269                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21270                         },
21271                         outputs: []outputInfo{
21272                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21273                         },
21274                 },
21275         },
21276         {
21277                 name:   "MOVHUloadidx",
21278                 argLen: 3,
21279                 asm:    arm64.AMOVHU,
21280                 reg: regInfo{
21281                         inputs: []inputInfo{
21282                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21283                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21284                         },
21285                         outputs: []outputInfo{
21286                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21287                         },
21288                 },
21289         },
21290         {
21291                 name:   "MOVBloadidx",
21292                 argLen: 3,
21293                 asm:    arm64.AMOVB,
21294                 reg: regInfo{
21295                         inputs: []inputInfo{
21296                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21297                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21298                         },
21299                         outputs: []outputInfo{
21300                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21301                         },
21302                 },
21303         },
21304         {
21305                 name:   "MOVBUloadidx",
21306                 argLen: 3,
21307                 asm:    arm64.AMOVBU,
21308                 reg: regInfo{
21309                         inputs: []inputInfo{
21310                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21311                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21312                         },
21313                         outputs: []outputInfo{
21314                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21315                         },
21316                 },
21317         },
21318         {
21319                 name:   "FMOVSloadidx",
21320                 argLen: 3,
21321                 asm:    arm64.AFMOVS,
21322                 reg: regInfo{
21323                         inputs: []inputInfo{
21324                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21325                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21326                         },
21327                         outputs: []outputInfo{
21328                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21329                         },
21330                 },
21331         },
21332         {
21333                 name:   "FMOVDloadidx",
21334                 argLen: 3,
21335                 asm:    arm64.AFMOVD,
21336                 reg: regInfo{
21337                         inputs: []inputInfo{
21338                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21339                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21340                         },
21341                         outputs: []outputInfo{
21342                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21343                         },
21344                 },
21345         },
21346         {
21347                 name:   "MOVHloadidx2",
21348                 argLen: 3,
21349                 asm:    arm64.AMOVH,
21350                 reg: regInfo{
21351                         inputs: []inputInfo{
21352                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21353                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21354                         },
21355                         outputs: []outputInfo{
21356                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21357                         },
21358                 },
21359         },
21360         {
21361                 name:   "MOVHUloadidx2",
21362                 argLen: 3,
21363                 asm:    arm64.AMOVHU,
21364                 reg: regInfo{
21365                         inputs: []inputInfo{
21366                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21367                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21368                         },
21369                         outputs: []outputInfo{
21370                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21371                         },
21372                 },
21373         },
21374         {
21375                 name:   "MOVWloadidx4",
21376                 argLen: 3,
21377                 asm:    arm64.AMOVW,
21378                 reg: regInfo{
21379                         inputs: []inputInfo{
21380                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21381                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21382                         },
21383                         outputs: []outputInfo{
21384                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21385                         },
21386                 },
21387         },
21388         {
21389                 name:   "MOVWUloadidx4",
21390                 argLen: 3,
21391                 asm:    arm64.AMOVWU,
21392                 reg: regInfo{
21393                         inputs: []inputInfo{
21394                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21395                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21396                         },
21397                         outputs: []outputInfo{
21398                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21399                         },
21400                 },
21401         },
21402         {
21403                 name:   "MOVDloadidx8",
21404                 argLen: 3,
21405                 asm:    arm64.AMOVD,
21406                 reg: regInfo{
21407                         inputs: []inputInfo{
21408                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21409                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21410                         },
21411                         outputs: []outputInfo{
21412                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21413                         },
21414                 },
21415         },
21416         {
21417                 name:   "FMOVSloadidx4",
21418                 argLen: 3,
21419                 asm:    arm64.AFMOVS,
21420                 reg: regInfo{
21421                         inputs: []inputInfo{
21422                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21423                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21424                         },
21425                         outputs: []outputInfo{
21426                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21427                         },
21428                 },
21429         },
21430         {
21431                 name:   "FMOVDloadidx8",
21432                 argLen: 3,
21433                 asm:    arm64.AFMOVD,
21434                 reg: regInfo{
21435                         inputs: []inputInfo{
21436                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21437                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21438                         },
21439                         outputs: []outputInfo{
21440                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21454                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21468                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21482                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21496                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21510                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21511                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21525                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21539                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21540                         },
21541                 },
21542         },
21543         {
21544                 name:   "MOVBstoreidx",
21545                 argLen: 4,
21546                 asm:    arm64.AMOVB,
21547                 reg: regInfo{
21548                         inputs: []inputInfo{
21549                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21550                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21551                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21552                         },
21553                 },
21554         },
21555         {
21556                 name:   "MOVHstoreidx",
21557                 argLen: 4,
21558                 asm:    arm64.AMOVH,
21559                 reg: regInfo{
21560                         inputs: []inputInfo{
21561                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21562                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21563                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21564                         },
21565                 },
21566         },
21567         {
21568                 name:   "MOVWstoreidx",
21569                 argLen: 4,
21570                 asm:    arm64.AMOVW,
21571                 reg: regInfo{
21572                         inputs: []inputInfo{
21573                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21574                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21575                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21576                         },
21577                 },
21578         },
21579         {
21580                 name:   "MOVDstoreidx",
21581                 argLen: 4,
21582                 asm:    arm64.AMOVD,
21583                 reg: regInfo{
21584                         inputs: []inputInfo{
21585                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21586                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21587                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21588                         },
21589                 },
21590         },
21591         {
21592                 name:   "FMOVSstoreidx",
21593                 argLen: 4,
21594                 asm:    arm64.AFMOVS,
21595                 reg: regInfo{
21596                         inputs: []inputInfo{
21597                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21598                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21599                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21600                         },
21601                 },
21602         },
21603         {
21604                 name:   "FMOVDstoreidx",
21605                 argLen: 4,
21606                 asm:    arm64.AFMOVD,
21607                 reg: regInfo{
21608                         inputs: []inputInfo{
21609                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21610                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21611                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21612                         },
21613                 },
21614         },
21615         {
21616                 name:   "MOVHstoreidx2",
21617                 argLen: 4,
21618                 asm:    arm64.AMOVH,
21619                 reg: regInfo{
21620                         inputs: []inputInfo{
21621                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21622                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21623                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21624                         },
21625                 },
21626         },
21627         {
21628                 name:   "MOVWstoreidx4",
21629                 argLen: 4,
21630                 asm:    arm64.AMOVW,
21631                 reg: regInfo{
21632                         inputs: []inputInfo{
21633                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21634                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21635                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21636                         },
21637                 },
21638         },
21639         {
21640                 name:   "MOVDstoreidx8",
21641                 argLen: 4,
21642                 asm:    arm64.AMOVD,
21643                 reg: regInfo{
21644                         inputs: []inputInfo{
21645                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21646                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21647                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21648                         },
21649                 },
21650         },
21651         {
21652                 name:   "FMOVSstoreidx4",
21653                 argLen: 4,
21654                 asm:    arm64.AFMOVS,
21655                 reg: regInfo{
21656                         inputs: []inputInfo{
21657                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21658                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21659                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21660                         },
21661                 },
21662         },
21663         {
21664                 name:   "FMOVDstoreidx8",
21665                 argLen: 4,
21666                 asm:    arm64.AFMOVD,
21667                 reg: regInfo{
21668                         inputs: []inputInfo{
21669                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21670                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21671                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21737                         },
21738                 },
21739         },
21740         {
21741                 name:   "MOVBstorezeroidx",
21742                 argLen: 3,
21743                 asm:    arm64.AMOVB,
21744                 reg: regInfo{
21745                         inputs: []inputInfo{
21746                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21747                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21748                         },
21749                 },
21750         },
21751         {
21752                 name:   "MOVHstorezeroidx",
21753                 argLen: 3,
21754                 asm:    arm64.AMOVH,
21755                 reg: regInfo{
21756                         inputs: []inputInfo{
21757                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21758                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21759                         },
21760                 },
21761         },
21762         {
21763                 name:   "MOVWstorezeroidx",
21764                 argLen: 3,
21765                 asm:    arm64.AMOVW,
21766                 reg: regInfo{
21767                         inputs: []inputInfo{
21768                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21769                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21770                         },
21771                 },
21772         },
21773         {
21774                 name:   "MOVDstorezeroidx",
21775                 argLen: 3,
21776                 asm:    arm64.AMOVD,
21777                 reg: regInfo{
21778                         inputs: []inputInfo{
21779                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21780                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21781                         },
21782                 },
21783         },
21784         {
21785                 name:   "MOVHstorezeroidx2",
21786                 argLen: 3,
21787                 asm:    arm64.AMOVH,
21788                 reg: regInfo{
21789                         inputs: []inputInfo{
21790                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21791                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21792                         },
21793                 },
21794         },
21795         {
21796                 name:   "MOVWstorezeroidx4",
21797                 argLen: 3,
21798                 asm:    arm64.AMOVW,
21799                 reg: regInfo{
21800                         inputs: []inputInfo{
21801                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21802                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21803                         },
21804                 },
21805         },
21806         {
21807                 name:   "MOVDstorezeroidx8",
21808                 argLen: 3,
21809                 asm:    arm64.AMOVD,
21810                 reg: regInfo{
21811                         inputs: []inputInfo{
21812                                 {1, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21813                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
21814                         },
21815                 },
21816         },
21817         {
21818                 name:   "FMOVDgpfp",
21819                 argLen: 1,
21820                 asm:    arm64.AFMOVD,
21821                 reg: regInfo{
21822                         inputs: []inputInfo{
21823                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21824                         },
21825                         outputs: []outputInfo{
21826                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21827                         },
21828                 },
21829         },
21830         {
21831                 name:   "FMOVDfpgp",
21832                 argLen: 1,
21833                 asm:    arm64.AFMOVD,
21834                 reg: regInfo{
21835                         inputs: []inputInfo{
21836                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21837                         },
21838                         outputs: []outputInfo{
21839                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21840                         },
21841                 },
21842         },
21843         {
21844                 name:   "FMOVSgpfp",
21845                 argLen: 1,
21846                 asm:    arm64.AFMOVS,
21847                 reg: regInfo{
21848                         inputs: []inputInfo{
21849                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21850                         },
21851                         outputs: []outputInfo{
21852                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21853                         },
21854                 },
21855         },
21856         {
21857                 name:   "FMOVSfpgp",
21858                 argLen: 1,
21859                 asm:    arm64.AFMOVS,
21860                 reg: regInfo{
21861                         inputs: []inputInfo{
21862                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21863                         },
21864                         outputs: []outputInfo{
21865                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21866                         },
21867                 },
21868         },
21869         {
21870                 name:   "MOVBreg",
21871                 argLen: 1,
21872                 asm:    arm64.AMOVB,
21873                 reg: regInfo{
21874                         inputs: []inputInfo{
21875                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21876                         },
21877                         outputs: []outputInfo{
21878                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21879                         },
21880                 },
21881         },
21882         {
21883                 name:   "MOVBUreg",
21884                 argLen: 1,
21885                 asm:    arm64.AMOVBU,
21886                 reg: regInfo{
21887                         inputs: []inputInfo{
21888                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21889                         },
21890                         outputs: []outputInfo{
21891                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21892                         },
21893                 },
21894         },
21895         {
21896                 name:   "MOVHreg",
21897                 argLen: 1,
21898                 asm:    arm64.AMOVH,
21899                 reg: regInfo{
21900                         inputs: []inputInfo{
21901                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21902                         },
21903                         outputs: []outputInfo{
21904                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21905                         },
21906                 },
21907         },
21908         {
21909                 name:   "MOVHUreg",
21910                 argLen: 1,
21911                 asm:    arm64.AMOVHU,
21912                 reg: regInfo{
21913                         inputs: []inputInfo{
21914                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21915                         },
21916                         outputs: []outputInfo{
21917                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21918                         },
21919                 },
21920         },
21921         {
21922                 name:   "MOVWreg",
21923                 argLen: 1,
21924                 asm:    arm64.AMOVW,
21925                 reg: regInfo{
21926                         inputs: []inputInfo{
21927                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21928                         },
21929                         outputs: []outputInfo{
21930                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21931                         },
21932                 },
21933         },
21934         {
21935                 name:   "MOVWUreg",
21936                 argLen: 1,
21937                 asm:    arm64.AMOVWU,
21938                 reg: regInfo{
21939                         inputs: []inputInfo{
21940                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21941                         },
21942                         outputs: []outputInfo{
21943                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21944                         },
21945                 },
21946         },
21947         {
21948                 name:   "MOVDreg",
21949                 argLen: 1,
21950                 asm:    arm64.AMOVD,
21951                 reg: regInfo{
21952                         inputs: []inputInfo{
21953                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
21954                         },
21955                         outputs: []outputInfo{
21956                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21957                         },
21958                 },
21959         },
21960         {
21961                 name:         "MOVDnop",
21962                 argLen:       1,
21963                 resultInArg0: true,
21964                 reg: regInfo{
21965                         inputs: []inputInfo{
21966                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21967                         },
21968                         outputs: []outputInfo{
21969                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21970                         },
21971                 },
21972         },
21973         {
21974                 name:   "SCVTFWS",
21975                 argLen: 1,
21976                 asm:    arm64.ASCVTFWS,
21977                 reg: regInfo{
21978                         inputs: []inputInfo{
21979                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21980                         },
21981                         outputs: []outputInfo{
21982                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21983                         },
21984                 },
21985         },
21986         {
21987                 name:   "SCVTFWD",
21988                 argLen: 1,
21989                 asm:    arm64.ASCVTFWD,
21990                 reg: regInfo{
21991                         inputs: []inputInfo{
21992                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
21993                         },
21994                         outputs: []outputInfo{
21995                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
21996                         },
21997                 },
21998         },
21999         {
22000                 name:   "UCVTFWS",
22001                 argLen: 1,
22002                 asm:    arm64.AUCVTFWS,
22003                 reg: regInfo{
22004                         inputs: []inputInfo{
22005                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22006                         },
22007                         outputs: []outputInfo{
22008                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22009                         },
22010                 },
22011         },
22012         {
22013                 name:   "UCVTFWD",
22014                 argLen: 1,
22015                 asm:    arm64.AUCVTFWD,
22016                 reg: regInfo{
22017                         inputs: []inputInfo{
22018                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22019                         },
22020                         outputs: []outputInfo{
22021                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22022                         },
22023                 },
22024         },
22025         {
22026                 name:   "SCVTFS",
22027                 argLen: 1,
22028                 asm:    arm64.ASCVTFS,
22029                 reg: regInfo{
22030                         inputs: []inputInfo{
22031                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22032                         },
22033                         outputs: []outputInfo{
22034                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22035                         },
22036                 },
22037         },
22038         {
22039                 name:   "SCVTFD",
22040                 argLen: 1,
22041                 asm:    arm64.ASCVTFD,
22042                 reg: regInfo{
22043                         inputs: []inputInfo{
22044                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22045                         },
22046                         outputs: []outputInfo{
22047                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22048                         },
22049                 },
22050         },
22051         {
22052                 name:   "UCVTFS",
22053                 argLen: 1,
22054                 asm:    arm64.AUCVTFS,
22055                 reg: regInfo{
22056                         inputs: []inputInfo{
22057                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22058                         },
22059                         outputs: []outputInfo{
22060                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22061                         },
22062                 },
22063         },
22064         {
22065                 name:   "UCVTFD",
22066                 argLen: 1,
22067                 asm:    arm64.AUCVTFD,
22068                 reg: regInfo{
22069                         inputs: []inputInfo{
22070                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22071                         },
22072                         outputs: []outputInfo{
22073                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22074                         },
22075                 },
22076         },
22077         {
22078                 name:   "FCVTZSSW",
22079                 argLen: 1,
22080                 asm:    arm64.AFCVTZSSW,
22081                 reg: regInfo{
22082                         inputs: []inputInfo{
22083                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22084                         },
22085                         outputs: []outputInfo{
22086                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22087                         },
22088                 },
22089         },
22090         {
22091                 name:   "FCVTZSDW",
22092                 argLen: 1,
22093                 asm:    arm64.AFCVTZSDW,
22094                 reg: regInfo{
22095                         inputs: []inputInfo{
22096                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22097                         },
22098                         outputs: []outputInfo{
22099                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22100                         },
22101                 },
22102         },
22103         {
22104                 name:   "FCVTZUSW",
22105                 argLen: 1,
22106                 asm:    arm64.AFCVTZUSW,
22107                 reg: regInfo{
22108                         inputs: []inputInfo{
22109                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22110                         },
22111                         outputs: []outputInfo{
22112                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22113                         },
22114                 },
22115         },
22116         {
22117                 name:   "FCVTZUDW",
22118                 argLen: 1,
22119                 asm:    arm64.AFCVTZUDW,
22120                 reg: regInfo{
22121                         inputs: []inputInfo{
22122                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22123                         },
22124                         outputs: []outputInfo{
22125                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22126                         },
22127                 },
22128         },
22129         {
22130                 name:   "FCVTZSS",
22131                 argLen: 1,
22132                 asm:    arm64.AFCVTZSS,
22133                 reg: regInfo{
22134                         inputs: []inputInfo{
22135                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22136                         },
22137                         outputs: []outputInfo{
22138                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22139                         },
22140                 },
22141         },
22142         {
22143                 name:   "FCVTZSD",
22144                 argLen: 1,
22145                 asm:    arm64.AFCVTZSD,
22146                 reg: regInfo{
22147                         inputs: []inputInfo{
22148                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22149                         },
22150                         outputs: []outputInfo{
22151                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22152                         },
22153                 },
22154         },
22155         {
22156                 name:   "FCVTZUS",
22157                 argLen: 1,
22158                 asm:    arm64.AFCVTZUS,
22159                 reg: regInfo{
22160                         inputs: []inputInfo{
22161                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22162                         },
22163                         outputs: []outputInfo{
22164                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22165                         },
22166                 },
22167         },
22168         {
22169                 name:   "FCVTZUD",
22170                 argLen: 1,
22171                 asm:    arm64.AFCVTZUD,
22172                 reg: regInfo{
22173                         inputs: []inputInfo{
22174                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22175                         },
22176                         outputs: []outputInfo{
22177                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22178                         },
22179                 },
22180         },
22181         {
22182                 name:   "FCVTSD",
22183                 argLen: 1,
22184                 asm:    arm64.AFCVTSD,
22185                 reg: regInfo{
22186                         inputs: []inputInfo{
22187                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22188                         },
22189                         outputs: []outputInfo{
22190                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22191                         },
22192                 },
22193         },
22194         {
22195                 name:   "FCVTDS",
22196                 argLen: 1,
22197                 asm:    arm64.AFCVTDS,
22198                 reg: regInfo{
22199                         inputs: []inputInfo{
22200                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22201                         },
22202                         outputs: []outputInfo{
22203                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22204                         },
22205                 },
22206         },
22207         {
22208                 name:   "FRINTAD",
22209                 argLen: 1,
22210                 asm:    arm64.AFRINTAD,
22211                 reg: regInfo{
22212                         inputs: []inputInfo{
22213                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22214                         },
22215                         outputs: []outputInfo{
22216                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22217                         },
22218                 },
22219         },
22220         {
22221                 name:   "FRINTMD",
22222                 argLen: 1,
22223                 asm:    arm64.AFRINTMD,
22224                 reg: regInfo{
22225                         inputs: []inputInfo{
22226                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22227                         },
22228                         outputs: []outputInfo{
22229                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22230                         },
22231                 },
22232         },
22233         {
22234                 name:   "FRINTND",
22235                 argLen: 1,
22236                 asm:    arm64.AFRINTND,
22237                 reg: regInfo{
22238                         inputs: []inputInfo{
22239                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22240                         },
22241                         outputs: []outputInfo{
22242                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22243                         },
22244                 },
22245         },
22246         {
22247                 name:   "FRINTPD",
22248                 argLen: 1,
22249                 asm:    arm64.AFRINTPD,
22250                 reg: regInfo{
22251                         inputs: []inputInfo{
22252                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22253                         },
22254                         outputs: []outputInfo{
22255                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22256                         },
22257                 },
22258         },
22259         {
22260                 name:   "FRINTZD",
22261                 argLen: 1,
22262                 asm:    arm64.AFRINTZD,
22263                 reg: regInfo{
22264                         inputs: []inputInfo{
22265                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22266                         },
22267                         outputs: []outputInfo{
22268                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22280                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22281                         },
22282                         outputs: []outputInfo{
22283                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22295                         },
22296                         outputs: []outputInfo{
22297                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22309                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22310                         },
22311                         outputs: []outputInfo{
22312                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22324                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22325                         },
22326                         outputs: []outputInfo{
22327                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22339                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22340                         },
22341                         outputs: []outputInfo{
22342                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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},   // R26
22387                                 {0, 1744568319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30 SP
22388                         },
22389                         clobbers: 9223372035512336383, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22401                         },
22402                         clobbers: 9223372035512336383, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
22403                 },
22404         },
22405         {
22406                 name:           "LoweredNilCheck",
22407                 argLen:         2,
22408                 nilCheck:       true,
22409                 faultOnNilArg0: true,
22410                 reg: regInfo{
22411                         inputs: []inputInfo{
22412                                 {0, 805044223}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22413                         },
22414                 },
22415         },
22416         {
22417                 name:   "Equal",
22418                 argLen: 1,
22419                 reg: regInfo{
22420                         outputs: []outputInfo{
22421                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22422                         },
22423                 },
22424         },
22425         {
22426                 name:   "NotEqual",
22427                 argLen: 1,
22428                 reg: regInfo{
22429                         outputs: []outputInfo{
22430                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22431                         },
22432                 },
22433         },
22434         {
22435                 name:   "LessThan",
22436                 argLen: 1,
22437                 reg: regInfo{
22438                         outputs: []outputInfo{
22439                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22440                         },
22441                 },
22442         },
22443         {
22444                 name:   "LessEqual",
22445                 argLen: 1,
22446                 reg: regInfo{
22447                         outputs: []outputInfo{
22448                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22449                         },
22450                 },
22451         },
22452         {
22453                 name:   "GreaterThan",
22454                 argLen: 1,
22455                 reg: regInfo{
22456                         outputs: []outputInfo{
22457                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22458                         },
22459                 },
22460         },
22461         {
22462                 name:   "GreaterEqual",
22463                 argLen: 1,
22464                 reg: regInfo{
22465                         outputs: []outputInfo{
22466                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22467                         },
22468                 },
22469         },
22470         {
22471                 name:   "LessThanU",
22472                 argLen: 1,
22473                 reg: regInfo{
22474                         outputs: []outputInfo{
22475                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22476                         },
22477                 },
22478         },
22479         {
22480                 name:   "LessEqualU",
22481                 argLen: 1,
22482                 reg: regInfo{
22483                         outputs: []outputInfo{
22484                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22485                         },
22486                 },
22487         },
22488         {
22489                 name:   "GreaterThanU",
22490                 argLen: 1,
22491                 reg: regInfo{
22492                         outputs: []outputInfo{
22493                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22494                         },
22495                 },
22496         },
22497         {
22498                 name:   "GreaterEqualU",
22499                 argLen: 1,
22500                 reg: regInfo{
22501                         outputs: []outputInfo{
22502                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22503                         },
22504                 },
22505         },
22506         {
22507                 name:   "LessThanF",
22508                 argLen: 1,
22509                 reg: regInfo{
22510                         outputs: []outputInfo{
22511                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22512                         },
22513                 },
22514         },
22515         {
22516                 name:   "LessEqualF",
22517                 argLen: 1,
22518                 reg: regInfo{
22519                         outputs: []outputInfo{
22520                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22521                         },
22522                 },
22523         },
22524         {
22525                 name:   "GreaterThanF",
22526                 argLen: 1,
22527                 reg: regInfo{
22528                         outputs: []outputInfo{
22529                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22530                         },
22531                 },
22532         },
22533         {
22534                 name:   "GreaterEqualF",
22535                 argLen: 1,
22536                 reg: regInfo{
22537                         outputs: []outputInfo{
22538                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22539                         },
22540                 },
22541         },
22542         {
22543                 name:   "NotLessThanF",
22544                 argLen: 1,
22545                 reg: regInfo{
22546                         outputs: []outputInfo{
22547                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22548                         },
22549                 },
22550         },
22551         {
22552                 name:   "NotLessEqualF",
22553                 argLen: 1,
22554                 reg: regInfo{
22555                         outputs: []outputInfo{
22556                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22557                         },
22558                 },
22559         },
22560         {
22561                 name:   "NotGreaterThanF",
22562                 argLen: 1,
22563                 reg: regInfo{
22564                         outputs: []outputInfo{
22565                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22566                         },
22567                 },
22568         },
22569         {
22570                 name:   "NotGreaterEqualF",
22571                 argLen: 1,
22572                 reg: regInfo{
22573                         outputs: []outputInfo{
22574                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22575                         },
22576                 },
22577         },
22578         {
22579                 name:   "LessThanNoov",
22580                 argLen: 1,
22581                 reg: regInfo{
22582                         outputs: []outputInfo{
22583                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22584                         },
22585                 },
22586         },
22587         {
22588                 name:   "GreaterEqualNoov",
22589                 argLen: 1,
22590                 reg: regInfo{
22591                         outputs: []outputInfo{
22592                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R20
22605                         },
22606                         clobbers: 538116096, // R16 R17 R20 R30
22607                 },
22608         },
22609         {
22610                 name:           "LoweredZero",
22611                 argLen:         3,
22612                 clobberFlags:   true,
22613                 faultOnNilArg0: true,
22614                 reg: regInfo{
22615                         inputs: []inputInfo{
22616                                 {0, 65536},     // R16
22617                                 {1, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22618                         },
22619                         clobbers: 65536, // R16
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}, // R21
22632                                 {1, 1048576}, // R20
22633                         },
22634                         clobbers: 607322112, // R16 R17 R20 R21 R26 R30
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},    // R17
22646                                 {1, 65536},     // R16
22647                                 {2, 637272063}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R26 R30
22648                         },
22649                         clobbers: 33751040, // R16 R17 R25
22650                 },
22651         },
22652         {
22653                 name:      "LoweredGetClosurePtr",
22654                 argLen:    0,
22655                 zeroWidth: true,
22656                 reg: regInfo{
22657                         outputs: []outputInfo{
22658                                 {0, 67108864}, // R26
22659                         },
22660                 },
22661         },
22662         {
22663                 name:              "LoweredGetCallerSP",
22664                 argLen:            1,
22665                 rematerializeable: true,
22666                 reg: regInfo{
22667                         outputs: []outputInfo{
22668                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
22669                         },
22670                 },
22671         },
22672         {
22673                 name:              "LoweredGetCallerPC",
22674                 argLen:            0,
22675                 rematerializeable: true,
22676                 reg: regInfo{
22677                         outputs: []outputInfo{
22678                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22701                         },
22702                         outputs: []outputInfo{
22703                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22715                         },
22716                         outputs: []outputInfo{
22717                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22729                         },
22730                         outputs: []outputInfo{
22731                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22744                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22757                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22770                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22784                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22785                         },
22786                         outputs: []outputInfo{
22787                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22801                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22802                         },
22803                         outputs: []outputInfo{
22804                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22817                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22818                         },
22819                         outputs: []outputInfo{
22820                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22833                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22834                         },
22835                         outputs: []outputInfo{
22836                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22850                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22851                         },
22852                         outputs: []outputInfo{
22853                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22867                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22868                         },
22869                         outputs: []outputInfo{
22870                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22883                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22884                         },
22885                         outputs: []outputInfo{
22886                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22899                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22900                         },
22901                         outputs: []outputInfo{
22902                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22917                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22918                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22919                         },
22920                         outputs: []outputInfo{
22921                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22936                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22937                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22938                         },
22939                         outputs: []outputInfo{
22940                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22955                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22956                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22957                         },
22958                         outputs: []outputInfo{
22959                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22974                                 {2, 805044223},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22975                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22976                         },
22977                         outputs: []outputInfo{
22978                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
22993                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
22994                         },
22995                         outputs: []outputInfo{
22996                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23011                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23012                         },
23013                         outputs: []outputInfo{
23014                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23029                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23030                         },
23031                         outputs: []outputInfo{
23032                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23047                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23048                         },
23049                         outputs: []outputInfo{
23050                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23064                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23065                         },
23066                         outputs: []outputInfo{
23067                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23081                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23082                         },
23083                         outputs: []outputInfo{
23084                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23097                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23098                         },
23099                         outputs: []outputInfo{
23100                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
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},           // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
23113                                 {0, 9223372038733561855}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
23114                         },
23115                         outputs: []outputInfo{
23116                                 {0, 670826495}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
23117                         },
23118                 },
23119         },
23120         {
23121                 name:         "LoweredWB",
23122                 auxType:      auxInt64,
23123                 argLen:       1,
23124                 clobberFlags: true,
23125                 reg: regInfo{
23126                         clobbers: 9223372035244359680, // R16 R17 R30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23127                         outputs: []outputInfo{
23128                                 {0, 33554432}, // R25
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}, // R2
23140                                 {1, 8}, // R3
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}, // R1
23152                                 {1, 4}, // R2
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}, // R0
23164                                 {1, 2}, // R1
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 SP SB
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23197                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23198                         },
23199                         outputs: []outputInfo{
23200                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693244}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23212                         },
23213                         outputs: []outputInfo{
23214                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23215                         },
23216                 },
23217         },
23218         {
23219                 name:   "SUBV",
23220                 argLen: 2,
23221                 asm:    loong64.ASUBVU,
23222                 reg: regInfo{
23223                         inputs: []inputInfo{
23224                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23225                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23226                         },
23227                         outputs: []outputInfo{
23228                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23240                         },
23241                         outputs: []outputInfo{
23242                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23254                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23255                         },
23256                         outputs: []outputInfo{
23257                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23269                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23270                         },
23271                         outputs: []outputInfo{
23272                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23284                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23285                         },
23286                         outputs: []outputInfo{
23287                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23288                         },
23289                 },
23290         },
23291         {
23292                 name:   "DIVV",
23293                 argLen: 2,
23294                 asm:    loong64.ADIVV,
23295                 reg: regInfo{
23296                         inputs: []inputInfo{
23297                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23298                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23299                         },
23300                         outputs: []outputInfo{
23301                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23302                         },
23303                 },
23304         },
23305         {
23306                 name:   "DIVVU",
23307                 argLen: 2,
23308                 asm:    loong64.ADIVVU,
23309                 reg: regInfo{
23310                         inputs: []inputInfo{
23311                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23312                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23313                         },
23314                         outputs: []outputInfo{
23315                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23316                         },
23317                 },
23318         },
23319         {
23320                 name:   "REMV",
23321                 argLen: 2,
23322                 asm:    loong64.AREMV,
23323                 reg: regInfo{
23324                         inputs: []inputInfo{
23325                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23326                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23327                         },
23328                         outputs: []outputInfo{
23329                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23330                         },
23331                 },
23332         },
23333         {
23334                 name:   "REMVU",
23335                 argLen: 2,
23336                 asm:    loong64.AREMVU,
23337                 reg: regInfo{
23338                         inputs: []inputInfo{
23339                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23340                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23341                         },
23342                         outputs: []outputInfo{
23343                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23355                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23356                         },
23357                         outputs: []outputInfo{
23358                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23370                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23371                         },
23372                         outputs: []outputInfo{
23373                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23374                         },
23375                 },
23376         },
23377         {
23378                 name:   "SUBF",
23379                 argLen: 2,
23380                 asm:    loong64.ASUBF,
23381                 reg: regInfo{
23382                         inputs: []inputInfo{
23383                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23384                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23385                         },
23386                         outputs: []outputInfo{
23387                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23388                         },
23389                 },
23390         },
23391         {
23392                 name:   "SUBD",
23393                 argLen: 2,
23394                 asm:    loong64.ASUBD,
23395                 reg: regInfo{
23396                         inputs: []inputInfo{
23397                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23398                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23399                         },
23400                         outputs: []outputInfo{
23401                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23413                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23414                         },
23415                         outputs: []outputInfo{
23416                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23428                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23429                         },
23430                         outputs: []outputInfo{
23431                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23432                         },
23433                 },
23434         },
23435         {
23436                 name:   "DIVF",
23437                 argLen: 2,
23438                 asm:    loong64.ADIVF,
23439                 reg: regInfo{
23440                         inputs: []inputInfo{
23441                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23442                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23443                         },
23444                         outputs: []outputInfo{
23445                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23446                         },
23447                 },
23448         },
23449         {
23450                 name:   "DIVD",
23451                 argLen: 2,
23452                 asm:    loong64.ADIVD,
23453                 reg: regInfo{
23454                         inputs: []inputInfo{
23455                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23456                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23457                         },
23458                         outputs: []outputInfo{
23459                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23471                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23472                         },
23473                         outputs: []outputInfo{
23474                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23486                         },
23487                         outputs: []outputInfo{
23488                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23500                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23501                         },
23502                         outputs: []outputInfo{
23503                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23515                         },
23516                         outputs: []outputInfo{
23517                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23529                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23530                         },
23531                         outputs: []outputInfo{
23532                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23544                         },
23545                         outputs: []outputInfo{
23546                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23558                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23559                         },
23560                         outputs: []outputInfo{
23561                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23573                         },
23574                         outputs: []outputInfo{
23575                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23576                         },
23577                 },
23578         },
23579         {
23580                 name:   "NEGV",
23581                 argLen: 1,
23582                 reg: regInfo{
23583                         inputs: []inputInfo{
23584                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23585                         },
23586                         outputs: []outputInfo{
23587                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23588                         },
23589                 },
23590         },
23591         {
23592                 name:   "NEGF",
23593                 argLen: 1,
23594                 asm:    loong64.ANEGF,
23595                 reg: regInfo{
23596                         inputs: []inputInfo{
23597                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23598                         },
23599                         outputs: []outputInfo{
23600                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23601                         },
23602                 },
23603         },
23604         {
23605                 name:   "NEGD",
23606                 argLen: 1,
23607                 asm:    loong64.ANEGD,
23608                 reg: regInfo{
23609                         inputs: []inputInfo{
23610                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23611                         },
23612                         outputs: []outputInfo{
23613                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23614                         },
23615                 },
23616         },
23617         {
23618                 name:   "SQRTD",
23619                 argLen: 1,
23620                 asm:    loong64.ASQRTD,
23621                 reg: regInfo{
23622                         inputs: []inputInfo{
23623                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23624                         },
23625                         outputs: []outputInfo{
23626                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23627                         },
23628                 },
23629         },
23630         {
23631                 name:   "SQRTF",
23632                 argLen: 1,
23633                 asm:    loong64.ASQRTF,
23634                 reg: regInfo{
23635                         inputs: []inputInfo{
23636                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23637                         },
23638                         outputs: []outputInfo{
23639                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23640                         },
23641                 },
23642         },
23643         {
23644                 name:   "MASKEQZ",
23645                 argLen: 2,
23646                 asm:    loong64.AMASKEQZ,
23647                 reg: regInfo{
23648                         inputs: []inputInfo{
23649                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23650                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23651                         },
23652                         outputs: []outputInfo{
23653                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23654                         },
23655                 },
23656         },
23657         {
23658                 name:   "MASKNEZ",
23659                 argLen: 2,
23660                 asm:    loong64.AMASKNEZ,
23661                 reg: regInfo{
23662                         inputs: []inputInfo{
23663                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23664                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23665                         },
23666                         outputs: []outputInfo{
23667                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23668                         },
23669                 },
23670         },
23671         {
23672                 name:   "SLLV",
23673                 argLen: 2,
23674                 asm:    loong64.ASLLV,
23675                 reg: regInfo{
23676                         inputs: []inputInfo{
23677                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23678                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23679                         },
23680                         outputs: []outputInfo{
23681                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23693                         },
23694                         outputs: []outputInfo{
23695                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23696                         },
23697                 },
23698         },
23699         {
23700                 name:   "SRLV",
23701                 argLen: 2,
23702                 asm:    loong64.ASRLV,
23703                 reg: regInfo{
23704                         inputs: []inputInfo{
23705                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23706                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23707                         },
23708                         outputs: []outputInfo{
23709                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23721                         },
23722                         outputs: []outputInfo{
23723                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23724                         },
23725                 },
23726         },
23727         {
23728                 name:   "SRAV",
23729                 argLen: 2,
23730                 asm:    loong64.ASRAV,
23731                 reg: regInfo{
23732                         inputs: []inputInfo{
23733                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23734                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23735                         },
23736                         outputs: []outputInfo{
23737                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23749                         },
23750                         outputs: []outputInfo{
23751                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23752                         },
23753                 },
23754         },
23755         {
23756                 name:   "ROTR",
23757                 argLen: 2,
23758                 asm:    loong64.AROTR,
23759                 reg: regInfo{
23760                         inputs: []inputInfo{
23761                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23762                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23763                         },
23764                         outputs: []outputInfo{
23765                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23766                         },
23767                 },
23768         },
23769         {
23770                 name:   "ROTRV",
23771                 argLen: 2,
23772                 asm:    loong64.AROTRV,
23773                 reg: regInfo{
23774                         inputs: []inputInfo{
23775                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23776                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23777                         },
23778                         outputs: []outputInfo{
23779                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23791                         },
23792                         outputs: []outputInfo{
23793                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23805                         },
23806                         outputs: []outputInfo{
23807                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23808                         },
23809                 },
23810         },
23811         {
23812                 name:   "SGT",
23813                 argLen: 2,
23814                 asm:    loong64.ASGT,
23815                 reg: regInfo{
23816                         inputs: []inputInfo{
23817                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23818                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23819                         },
23820                         outputs: []outputInfo{
23821                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23833                         },
23834                         outputs: []outputInfo{
23835                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23836                         },
23837                 },
23838         },
23839         {
23840                 name:   "SGTU",
23841                 argLen: 2,
23842                 asm:    loong64.ASGTU,
23843                 reg: regInfo{
23844                         inputs: []inputInfo{
23845                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23846                                 {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23847                         },
23848                         outputs: []outputInfo{
23849                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
23861                         },
23862                         outputs: []outputInfo{
23863                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
23864                         },
23865                 },
23866         },
23867         {
23868                 name:   "CMPEQF",
23869                 argLen: 2,
23870                 asm:    loong64.ACMPEQF,
23871                 reg: regInfo{
23872                         inputs: []inputInfo{
23873                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23874                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23875                         },
23876                 },
23877         },
23878         {
23879                 name:   "CMPEQD",
23880                 argLen: 2,
23881                 asm:    loong64.ACMPEQD,
23882                 reg: regInfo{
23883                         inputs: []inputInfo{
23884                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23885                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23886                         },
23887                 },
23888         },
23889         {
23890                 name:   "CMPGEF",
23891                 argLen: 2,
23892                 asm:    loong64.ACMPGEF,
23893                 reg: regInfo{
23894                         inputs: []inputInfo{
23895                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23896                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23897                         },
23898                 },
23899         },
23900         {
23901                 name:   "CMPGED",
23902                 argLen: 2,
23903                 asm:    loong64.ACMPGED,
23904                 reg: regInfo{
23905                         inputs: []inputInfo{
23906                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23907                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23908                         },
23909                 },
23910         },
23911         {
23912                 name:   "CMPGTF",
23913                 argLen: 2,
23914                 asm:    loong64.ACMPGTF,
23915                 reg: regInfo{
23916                         inputs: []inputInfo{
23917                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23918                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23919                         },
23920                 },
23921         },
23922         {
23923                 name:   "CMPGTD",
23924                 argLen: 2,
23925                 asm:    loong64.ACMPGTD,
23926                 reg: regInfo{
23927                         inputs: []inputInfo{
23928                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
23929                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // SP SB
23979                         },
23980                         outputs: []outputInfo{
23981                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
23995                         },
23996                         outputs: []outputInfo{
23997                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24011                         },
24012                         outputs: []outputInfo{
24013                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24027                         },
24028                         outputs: []outputInfo{
24029                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24043                         },
24044                         outputs: []outputInfo{
24045                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24059                         },
24060                         outputs: []outputInfo{
24061                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24075                         },
24076                         outputs: []outputInfo{
24077                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24091                         },
24092                         outputs: []outputInfo{
24093                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24107                         },
24108                         outputs: []outputInfo{
24109                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24123                         },
24124                         outputs: []outputInfo{
24125                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24139                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24153                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24167                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24181                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24195                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24209                                 {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24262                         },
24263                 },
24264         },
24265         {
24266                 name:   "MOVBreg",
24267                 argLen: 1,
24268                 asm:    loong64.AMOVB,
24269                 reg: regInfo{
24270                         inputs: []inputInfo{
24271                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24272                         },
24273                         outputs: []outputInfo{
24274                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24275                         },
24276                 },
24277         },
24278         {
24279                 name:   "MOVBUreg",
24280                 argLen: 1,
24281                 asm:    loong64.AMOVBU,
24282                 reg: regInfo{
24283                         inputs: []inputInfo{
24284                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24285                         },
24286                         outputs: []outputInfo{
24287                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24288                         },
24289                 },
24290         },
24291         {
24292                 name:   "MOVHreg",
24293                 argLen: 1,
24294                 asm:    loong64.AMOVH,
24295                 reg: regInfo{
24296                         inputs: []inputInfo{
24297                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24298                         },
24299                         outputs: []outputInfo{
24300                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24301                         },
24302                 },
24303         },
24304         {
24305                 name:   "MOVHUreg",
24306                 argLen: 1,
24307                 asm:    loong64.AMOVHU,
24308                 reg: regInfo{
24309                         inputs: []inputInfo{
24310                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24311                         },
24312                         outputs: []outputInfo{
24313                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24314                         },
24315                 },
24316         },
24317         {
24318                 name:   "MOVWreg",
24319                 argLen: 1,
24320                 asm:    loong64.AMOVW,
24321                 reg: regInfo{
24322                         inputs: []inputInfo{
24323                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24324                         },
24325                         outputs: []outputInfo{
24326                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24327                         },
24328                 },
24329         },
24330         {
24331                 name:   "MOVWUreg",
24332                 argLen: 1,
24333                 asm:    loong64.AMOVWU,
24334                 reg: regInfo{
24335                         inputs: []inputInfo{
24336                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24337                         },
24338                         outputs: []outputInfo{
24339                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24340                         },
24341                 },
24342         },
24343         {
24344                 name:   "MOVVreg",
24345                 argLen: 1,
24346                 asm:    loong64.AMOVV,
24347                 reg: regInfo{
24348                         inputs: []inputInfo{
24349                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24350                         },
24351                         outputs: []outputInfo{
24352                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24353                         },
24354                 },
24355         },
24356         {
24357                 name:         "MOVVnop",
24358                 argLen:       1,
24359                 resultInArg0: true,
24360                 reg: regInfo{
24361                         inputs: []inputInfo{
24362                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24363                         },
24364                         outputs: []outputInfo{
24365                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24366                         },
24367                 },
24368         },
24369         {
24370                 name:   "MOVWF",
24371                 argLen: 1,
24372                 asm:    loong64.AMOVWF,
24373                 reg: regInfo{
24374                         inputs: []inputInfo{
24375                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24376                         },
24377                         outputs: []outputInfo{
24378                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24379                         },
24380                 },
24381         },
24382         {
24383                 name:   "MOVWD",
24384                 argLen: 1,
24385                 asm:    loong64.AMOVWD,
24386                 reg: regInfo{
24387                         inputs: []inputInfo{
24388                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24389                         },
24390                         outputs: []outputInfo{
24391                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24392                         },
24393                 },
24394         },
24395         {
24396                 name:   "MOVVF",
24397                 argLen: 1,
24398                 asm:    loong64.AMOVVF,
24399                 reg: regInfo{
24400                         inputs: []inputInfo{
24401                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24402                         },
24403                         outputs: []outputInfo{
24404                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24405                         },
24406                 },
24407         },
24408         {
24409                 name:   "MOVVD",
24410                 argLen: 1,
24411                 asm:    loong64.AMOVVD,
24412                 reg: regInfo{
24413                         inputs: []inputInfo{
24414                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24415                         },
24416                         outputs: []outputInfo{
24417                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24418                         },
24419                 },
24420         },
24421         {
24422                 name:   "TRUNCFW",
24423                 argLen: 1,
24424                 asm:    loong64.ATRUNCFW,
24425                 reg: regInfo{
24426                         inputs: []inputInfo{
24427                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24428                         },
24429                         outputs: []outputInfo{
24430                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24431                         },
24432                 },
24433         },
24434         {
24435                 name:   "TRUNCDW",
24436                 argLen: 1,
24437                 asm:    loong64.ATRUNCDW,
24438                 reg: regInfo{
24439                         inputs: []inputInfo{
24440                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24441                         },
24442                         outputs: []outputInfo{
24443                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24444                         },
24445                 },
24446         },
24447         {
24448                 name:   "TRUNCFV",
24449                 argLen: 1,
24450                 asm:    loong64.ATRUNCFV,
24451                 reg: regInfo{
24452                         inputs: []inputInfo{
24453                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24454                         },
24455                         outputs: []outputInfo{
24456                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24457                         },
24458                 },
24459         },
24460         {
24461                 name:   "TRUNCDV",
24462                 argLen: 1,
24463                 asm:    loong64.ATRUNCDV,
24464                 reg: regInfo{
24465                         inputs: []inputInfo{
24466                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24467                         },
24468                         outputs: []outputInfo{
24469                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24470                         },
24471                 },
24472         },
24473         {
24474                 name:   "MOVFD",
24475                 argLen: 1,
24476                 asm:    loong64.AMOVFD,
24477                 reg: regInfo{
24478                         inputs: []inputInfo{
24479                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24480                         },
24481                         outputs: []outputInfo{
24482                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24483                         },
24484                 },
24485         },
24486         {
24487                 name:   "MOVDF",
24488                 argLen: 1,
24489                 asm:    loong64.AMOVDF,
24490                 reg: regInfo{
24491                         inputs: []inputInfo{
24492                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24493                         },
24494                         outputs: []outputInfo{
24495                                 {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24496                         },
24497                 },
24498         },
24499         {
24500                 name:         "CALLstatic",
24501                 auxType:      auxCallOff,
24502                 argLen:       1,
24503                 clobberFlags: true,
24504                 call:         true,
24505                 reg: regInfo{
24506                         clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24518                 },
24519         },
24520         {
24521                 name:         "CALLclosure",
24522                 auxType:      auxCallOff,
24523                 argLen:       3,
24524                 clobberFlags: true,
24525                 call:         true,
24526                 reg: regInfo{
24527                         inputs: []inputInfo{
24528                                 {1, 268435456},  // R29
24529                                 {0, 1070596092}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24530                         },
24531                         clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24532                 },
24533         },
24534         {
24535                 name:         "CALLinter",
24536                 auxType:      auxCallOff,
24537                 argLen:       2,
24538                 clobberFlags: true,
24539                 call:         true,
24540                 reg: regInfo{
24541                         inputs: []inputInfo{
24542                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24543                         },
24544                         clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24545                 },
24546         },
24547         {
24548                 name:           "DUFFZERO",
24549                 auxType:        auxInt64,
24550                 argLen:         2,
24551                 faultOnNilArg0: true,
24552                 reg: regInfo{
24553                         inputs: []inputInfo{
24554                                 {0, 262144}, // R19
24555                         },
24556                         clobbers: 262146, // R1 R19
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, 524288}, // R20
24568                                 {1, 262144}, // R19
24569                         },
24570                         clobbers: 786434, // R1 R19 R20
24571                 },
24572         },
24573         {
24574                 name:           "LoweredZero",
24575                 auxType:        auxInt64,
24576                 argLen:         3,
24577                 faultOnNilArg0: true,
24578                 reg: regInfo{
24579                         inputs: []inputInfo{
24580                                 {0, 262144},     // R19
24581                                 {1, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24582                         },
24583                         clobbers: 262144, // R19
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, 524288},     // R20
24595                                 {1, 262144},     // R19
24596                                 {2, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24597                         },
24598                         clobbers: 786432, // R19 R20
24599                 },
24600         },
24601         {
24602                 name:           "LoweredAtomicLoad8",
24603                 argLen:         2,
24604                 faultOnNilArg0: true,
24605                 reg: regInfo{
24606                         inputs: []inputInfo{
24607                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24608                         },
24609                         outputs: []outputInfo{
24610                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24611                         },
24612                 },
24613         },
24614         {
24615                 name:           "LoweredAtomicLoad32",
24616                 argLen:         2,
24617                 faultOnNilArg0: true,
24618                 reg: regInfo{
24619                         inputs: []inputInfo{
24620                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24621                         },
24622                         outputs: []outputInfo{
24623                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24624                         },
24625                 },
24626         },
24627         {
24628                 name:           "LoweredAtomicLoad64",
24629                 argLen:         2,
24630                 faultOnNilArg0: true,
24631                 reg: regInfo{
24632                         inputs: []inputInfo{
24633                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24634                         },
24635                         outputs: []outputInfo{
24636                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24637                         },
24638                 },
24639         },
24640         {
24641                 name:           "LoweredAtomicStore8",
24642                 argLen:         3,
24643                 faultOnNilArg0: true,
24644                 hasSideEffects: true,
24645                 reg: regInfo{
24646                         inputs: []inputInfo{
24647                                 {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24648                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24649                         },
24650                 },
24651         },
24652         {
24653                 name:           "LoweredAtomicStore32",
24654                 argLen:         3,
24655                 faultOnNilArg0: true,
24656                 hasSideEffects: true,
24657                 reg: regInfo{
24658                         inputs: []inputInfo{
24659                                 {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24660                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24661                         },
24662                 },
24663         },
24664         {
24665                 name:           "LoweredAtomicStore64",
24666                 argLen:         3,
24667                 faultOnNilArg0: true,
24668                 hasSideEffects: true,
24669                 reg: regInfo{
24670                         inputs: []inputInfo{
24671                                 {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24672                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24673                         },
24674                 },
24675         },
24676         {
24677                 name:           "LoweredAtomicStorezero32",
24678                 argLen:         2,
24679                 faultOnNilArg0: true,
24680                 hasSideEffects: true,
24681                 reg: regInfo{
24682                         inputs: []inputInfo{
24683                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24684                         },
24685                 },
24686         },
24687         {
24688                 name:           "LoweredAtomicStorezero64",
24689                 argLen:         2,
24690                 faultOnNilArg0: true,
24691                 hasSideEffects: true,
24692                 reg: regInfo{
24693                         inputs: []inputInfo{
24694                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24708                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24709                         },
24710                         outputs: []outputInfo{
24711                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24725                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24726                         },
24727                         outputs: []outputInfo{
24728                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24742                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24743                         },
24744                         outputs: []outputInfo{
24745                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24759                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24760                         },
24761                         outputs: []outputInfo{
24762                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24777                         },
24778                         outputs: []outputInfo{
24779                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24794                         },
24795                         outputs: []outputInfo{
24796                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24810                                 {2, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24811                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24812                         },
24813                         outputs: []outputInfo{
24814                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
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, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24828                                 {2, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24829                                 {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24830                         },
24831                         outputs: []outputInfo{
24832                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24833                         },
24834                 },
24835         },
24836         {
24837                 name:           "LoweredNilCheck",
24838                 argLen:         2,
24839                 nilCheck:       true,
24840                 faultOnNilArg0: true,
24841                 reg: regInfo{
24842                         inputs: []inputInfo{
24843                                 {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
24844                         },
24845                 },
24846         },
24847         {
24848                 name:   "FPFlagTrue",
24849                 argLen: 1,
24850                 reg: regInfo{
24851                         outputs: []outputInfo{
24852                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24853                         },
24854                 },
24855         },
24856         {
24857                 name:   "FPFlagFalse",
24858                 argLen: 1,
24859                 reg: regInfo{
24860                         outputs: []outputInfo{
24861                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24862                         },
24863                 },
24864         },
24865         {
24866                 name:      "LoweredGetClosurePtr",
24867                 argLen:    0,
24868                 zeroWidth: true,
24869                 reg: regInfo{
24870                         outputs: []outputInfo{
24871                                 {0, 268435456}, // R29
24872                         },
24873                 },
24874         },
24875         {
24876                 name:              "LoweredGetCallerSP",
24877                 argLen:            1,
24878                 rematerializeable: true,
24879                 reg: regInfo{
24880                         outputs: []outputInfo{
24881                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24882                         },
24883                 },
24884         },
24885         {
24886                 name:              "LoweredGetCallerPC",
24887                 argLen:            0,
24888                 rematerializeable: true,
24889                 reg: regInfo{
24890                         outputs: []outputInfo{
24891                                 {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
24892                         },
24893                 },
24894         },
24895         {
24896                 name:         "LoweredWB",
24897                 auxType:      auxInt64,
24898                 argLen:       1,
24899                 clobberFlags: true,
24900                 reg: regInfo{
24901                         clobbers: 4611686017353646082, // R1 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
24902                         outputs: []outputInfo{
24903                                 {0, 268435456}, // R29
24904                         },
24905                 },
24906         },
24907         {
24908                 name:    "LoweredPanicBoundsA",
24909                 auxType: auxInt64,
24910                 argLen:  3,
24911                 call:    true,
24912                 reg: regInfo{
24913                         inputs: []inputInfo{
24914                                 {0, 65536}, // R17
24915                                 {1, 8},     // R4
24916                         },
24917                 },
24918         },
24919         {
24920                 name:    "LoweredPanicBoundsB",
24921                 auxType: auxInt64,
24922                 argLen:  3,
24923                 call:    true,
24924                 reg: regInfo{
24925                         inputs: []inputInfo{
24926                                 {0, 131072}, // R18
24927                                 {1, 65536},  // R17
24928                         },
24929                 },
24930         },
24931         {
24932                 name:    "LoweredPanicBoundsC",
24933                 auxType: auxInt64,
24934                 argLen:  3,
24935                 call:    true,
24936                 reg: regInfo{
24937                         inputs: []inputInfo{
24938                                 {0, 262144}, // R19
24939                                 {1, 131072}, // R18
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
24952                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
24953                         },
24954                         outputs: []outputInfo{
24955                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31
24967                         },
24968                         outputs: []outputInfo{
24969                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
24970                         },
24971                 },
24972         },
24973         {
24974                 name:   "SUB",
24975                 argLen: 2,
24976                 asm:    mips.ASUBU,
24977                 reg: regInfo{
24978                         inputs: []inputInfo{
24979                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
24980                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
24981                         },
24982                         outputs: []outputInfo{
24983                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
24995                         },
24996                         outputs: []outputInfo{
24997                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25009                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25010                         },
25011                         clobbers: 105553116266496, // HI LO
25012                         outputs: []outputInfo{
25013                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25025                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25026                         },
25027                         outputs: []outputInfo{
25028                                 {0, 35184372088832}, // HI
25029                                 {1, 70368744177664}, // LO
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25041                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25042                         },
25043                         outputs: []outputInfo{
25044                                 {0, 35184372088832}, // HI
25045                                 {1, 70368744177664}, // LO
25046                         },
25047                 },
25048         },
25049         {
25050                 name:   "DIV",
25051                 argLen: 2,
25052                 asm:    mips.ADIV,
25053                 reg: regInfo{
25054                         inputs: []inputInfo{
25055                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25056                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25057                         },
25058                         outputs: []outputInfo{
25059                                 {0, 35184372088832}, // HI
25060                                 {1, 70368744177664}, // LO
25061                         },
25062                 },
25063         },
25064         {
25065                 name:   "DIVU",
25066                 argLen: 2,
25067                 asm:    mips.ADIVU,
25068                 reg: regInfo{
25069                         inputs: []inputInfo{
25070                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25071                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25072                         },
25073                         outputs: []outputInfo{
25074                                 {0, 35184372088832}, // HI
25075                                 {1, 70368744177664}, // LO
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}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25087                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25088                         },
25089                         outputs: []outputInfo{
25090                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25102                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25103                         },
25104                         outputs: []outputInfo{
25105                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25106                         },
25107                 },
25108         },
25109         {
25110                 name:   "SUBF",
25111                 argLen: 2,
25112                 asm:    mips.ASUBF,
25113                 reg: regInfo{
25114                         inputs: []inputInfo{
25115                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25116                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25117                         },
25118                         outputs: []outputInfo{
25119                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25120                         },
25121                 },
25122         },
25123         {
25124                 name:   "SUBD",
25125                 argLen: 2,
25126                 asm:    mips.ASUBD,
25127                 reg: regInfo{
25128                         inputs: []inputInfo{
25129                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25130                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25131                         },
25132                         outputs: []outputInfo{
25133                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25145                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25146                         },
25147                         outputs: []outputInfo{
25148                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25160                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25161                         },
25162                         outputs: []outputInfo{
25163                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25164                         },
25165                 },
25166         },
25167         {
25168                 name:   "DIVF",
25169                 argLen: 2,
25170                 asm:    mips.ADIVF,
25171                 reg: regInfo{
25172                         inputs: []inputInfo{
25173                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25174                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25175                         },
25176                         outputs: []outputInfo{
25177                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25178                         },
25179                 },
25180         },
25181         {
25182                 name:   "DIVD",
25183                 argLen: 2,
25184                 asm:    mips.ADIVD,
25185                 reg: regInfo{
25186                         inputs: []inputInfo{
25187                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25188                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25189                         },
25190                         outputs: []outputInfo{
25191                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25203                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25204                         },
25205                         outputs: []outputInfo{
25206                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25218                         },
25219                         outputs: []outputInfo{
25220                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25232                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25233                         },
25234                         outputs: []outputInfo{
25235                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25247                         },
25248                         outputs: []outputInfo{
25249                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25261                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25262                         },
25263                         outputs: []outputInfo{
25264                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25276                         },
25277                         outputs: []outputInfo{
25278                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25290                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25291                         },
25292                         outputs: []outputInfo{
25293                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25305                         },
25306                         outputs: []outputInfo{
25307                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25308                         },
25309                 },
25310         },
25311         {
25312                 name:   "NEG",
25313                 argLen: 1,
25314                 reg: regInfo{
25315                         inputs: []inputInfo{
25316                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25317                         },
25318                         outputs: []outputInfo{
25319                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25320                         },
25321                 },
25322         },
25323         {
25324                 name:   "NEGF",
25325                 argLen: 1,
25326                 asm:    mips.ANEGF,
25327                 reg: regInfo{
25328                         inputs: []inputInfo{
25329                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25330                         },
25331                         outputs: []outputInfo{
25332                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25333                         },
25334                 },
25335         },
25336         {
25337                 name:   "NEGD",
25338                 argLen: 1,
25339                 asm:    mips.ANEGD,
25340                 reg: regInfo{
25341                         inputs: []inputInfo{
25342                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25343                         },
25344                         outputs: []outputInfo{
25345                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25346                         },
25347                 },
25348         },
25349         {
25350                 name:   "ABSD",
25351                 argLen: 1,
25352                 asm:    mips.AABSD,
25353                 reg: regInfo{
25354                         inputs: []inputInfo{
25355                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25356                         },
25357                         outputs: []outputInfo{
25358                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25359                         },
25360                 },
25361         },
25362         {
25363                 name:   "SQRTD",
25364                 argLen: 1,
25365                 asm:    mips.ASQRTD,
25366                 reg: regInfo{
25367                         inputs: []inputInfo{
25368                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25369                         },
25370                         outputs: []outputInfo{
25371                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25372                         },
25373                 },
25374         },
25375         {
25376                 name:   "SQRTF",
25377                 argLen: 1,
25378                 asm:    mips.ASQRTF,
25379                 reg: regInfo{
25380                         inputs: []inputInfo{
25381                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25382                         },
25383                         outputs: []outputInfo{
25384                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25385                         },
25386                 },
25387         },
25388         {
25389                 name:   "SLL",
25390                 argLen: 2,
25391                 asm:    mips.ASLL,
25392                 reg: regInfo{
25393                         inputs: []inputInfo{
25394                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25395                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25396                         },
25397                         outputs: []outputInfo{
25398                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25410                         },
25411                         outputs: []outputInfo{
25412                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25413                         },
25414                 },
25415         },
25416         {
25417                 name:   "SRL",
25418                 argLen: 2,
25419                 asm:    mips.ASRL,
25420                 reg: regInfo{
25421                         inputs: []inputInfo{
25422                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25423                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25424                         },
25425                         outputs: []outputInfo{
25426                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25438                         },
25439                         outputs: []outputInfo{
25440                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25441                         },
25442                 },
25443         },
25444         {
25445                 name:   "SRA",
25446                 argLen: 2,
25447                 asm:    mips.ASRA,
25448                 reg: regInfo{
25449                         inputs: []inputInfo{
25450                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25451                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25452                         },
25453                         outputs: []outputInfo{
25454                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25466                         },
25467                         outputs: []outputInfo{
25468                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25469                         },
25470                 },
25471         },
25472         {
25473                 name:   "CLZ",
25474                 argLen: 1,
25475                 asm:    mips.ACLZ,
25476                 reg: regInfo{
25477                         inputs: []inputInfo{
25478                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25479                         },
25480                         outputs: []outputInfo{
25481                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25482                         },
25483                 },
25484         },
25485         {
25486                 name:   "SGT",
25487                 argLen: 2,
25488                 asm:    mips.ASGT,
25489                 reg: regInfo{
25490                         inputs: []inputInfo{
25491                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25492                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25493                         },
25494                         outputs: []outputInfo{
25495                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25507                         },
25508                         outputs: []outputInfo{
25509                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25510                         },
25511                 },
25512         },
25513         {
25514                 name:   "SGTzero",
25515                 argLen: 1,
25516                 asm:    mips.ASGT,
25517                 reg: regInfo{
25518                         inputs: []inputInfo{
25519                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25520                         },
25521                         outputs: []outputInfo{
25522                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25523                         },
25524                 },
25525         },
25526         {
25527                 name:   "SGTU",
25528                 argLen: 2,
25529                 asm:    mips.ASGTU,
25530                 reg: regInfo{
25531                         inputs: []inputInfo{
25532                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25533                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25534                         },
25535                         outputs: []outputInfo{
25536                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25548                         },
25549                         outputs: []outputInfo{
25550                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25551                         },
25552                 },
25553         },
25554         {
25555                 name:   "SGTUzero",
25556                 argLen: 1,
25557                 asm:    mips.ASGTU,
25558                 reg: regInfo{
25559                         inputs: []inputInfo{
25560                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25561                         },
25562                         outputs: []outputInfo{
25563                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25564                         },
25565                 },
25566         },
25567         {
25568                 name:   "CMPEQF",
25569                 argLen: 2,
25570                 asm:    mips.ACMPEQF,
25571                 reg: regInfo{
25572                         inputs: []inputInfo{
25573                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25574                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25575                         },
25576                 },
25577         },
25578         {
25579                 name:   "CMPEQD",
25580                 argLen: 2,
25581                 asm:    mips.ACMPEQD,
25582                 reg: regInfo{
25583                         inputs: []inputInfo{
25584                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25585                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25586                         },
25587                 },
25588         },
25589         {
25590                 name:   "CMPGEF",
25591                 argLen: 2,
25592                 asm:    mips.ACMPGEF,
25593                 reg: regInfo{
25594                         inputs: []inputInfo{
25595                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25596                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25597                         },
25598                 },
25599         },
25600         {
25601                 name:   "CMPGED",
25602                 argLen: 2,
25603                 asm:    mips.ACMPGED,
25604                 reg: regInfo{
25605                         inputs: []inputInfo{
25606                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25607                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25608                         },
25609                 },
25610         },
25611         {
25612                 name:   "CMPGTF",
25613                 argLen: 2,
25614                 asm:    mips.ACMPGTF,
25615                 reg: regInfo{
25616                         inputs: []inputInfo{
25617                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25618                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25619                         },
25620                 },
25621         },
25622         {
25623                 name:   "CMPGTD",
25624                 argLen: 2,
25625                 asm:    mips.ACMPGTD,
25626                 reg: regInfo{
25627                         inputs: []inputInfo{
25628                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25629                                 {1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // SP SB
25679                         },
25680                         outputs: []outputInfo{
25681                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25695                         },
25696                         outputs: []outputInfo{
25697                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25711                         },
25712                         outputs: []outputInfo{
25713                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25727                         },
25728                         outputs: []outputInfo{
25729                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25743                         },
25744                         outputs: []outputInfo{
25745                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25759                         },
25760                         outputs: []outputInfo{
25761                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25775                         },
25776                         outputs: []outputInfo{
25777                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25791                         },
25792                         outputs: []outputInfo{
25793                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25807                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25821                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25835                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},  // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25849                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},  // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25863                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
25903                         },
25904                 },
25905         },
25906         {
25907                 name:   "MOVWfpgp",
25908                 argLen: 1,
25909                 asm:    mips.AMOVW,
25910                 reg: regInfo{
25911                         inputs: []inputInfo{
25912                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25913                         },
25914                         outputs: []outputInfo{
25915                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25916                         },
25917                 },
25918         },
25919         {
25920                 name:   "MOVWgpfp",
25921                 argLen: 1,
25922                 asm:    mips.AMOVW,
25923                 reg: regInfo{
25924                         inputs: []inputInfo{
25925                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25926                         },
25927                         outputs: []outputInfo{
25928                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25929                         },
25930                 },
25931         },
25932         {
25933                 name:   "MOVBreg",
25934                 argLen: 1,
25935                 asm:    mips.AMOVB,
25936                 reg: regInfo{
25937                         inputs: []inputInfo{
25938                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25939                         },
25940                         outputs: []outputInfo{
25941                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25942                         },
25943                 },
25944         },
25945         {
25946                 name:   "MOVBUreg",
25947                 argLen: 1,
25948                 asm:    mips.AMOVBU,
25949                 reg: regInfo{
25950                         inputs: []inputInfo{
25951                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25952                         },
25953                         outputs: []outputInfo{
25954                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25955                         },
25956                 },
25957         },
25958         {
25959                 name:   "MOVHreg",
25960                 argLen: 1,
25961                 asm:    mips.AMOVH,
25962                 reg: regInfo{
25963                         inputs: []inputInfo{
25964                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25965                         },
25966                         outputs: []outputInfo{
25967                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25968                         },
25969                 },
25970         },
25971         {
25972                 name:   "MOVHUreg",
25973                 argLen: 1,
25974                 asm:    mips.AMOVHU,
25975                 reg: regInfo{
25976                         inputs: []inputInfo{
25977                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25978                         },
25979                         outputs: []outputInfo{
25980                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25981                         },
25982                 },
25983         },
25984         {
25985                 name:   "MOVWreg",
25986                 argLen: 1,
25987                 asm:    mips.AMOVW,
25988                 reg: regInfo{
25989                         inputs: []inputInfo{
25990                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
25991                         },
25992                         outputs: []outputInfo{
25993                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
25994                         },
25995                 },
25996         },
25997         {
25998                 name:         "MOVWnop",
25999                 argLen:       1,
26000                 resultInArg0: true,
26001                 reg: regInfo{
26002                         inputs: []inputInfo{
26003                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26004                         },
26005                         outputs: []outputInfo{
26006                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26018                                 {1, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26019                                 {2, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26020                         },
26021                         outputs: []outputInfo{
26022                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26034                                 {1, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26035                         },
26036                         outputs: []outputInfo{
26037                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26038                         },
26039                 },
26040         },
26041         {
26042                 name:   "MOVWF",
26043                 argLen: 1,
26044                 asm:    mips.AMOVWF,
26045                 reg: regInfo{
26046                         inputs: []inputInfo{
26047                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26048                         },
26049                         outputs: []outputInfo{
26050                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26051                         },
26052                 },
26053         },
26054         {
26055                 name:   "MOVWD",
26056                 argLen: 1,
26057                 asm:    mips.AMOVWD,
26058                 reg: regInfo{
26059                         inputs: []inputInfo{
26060                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26061                         },
26062                         outputs: []outputInfo{
26063                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26064                         },
26065                 },
26066         },
26067         {
26068                 name:   "TRUNCFW",
26069                 argLen: 1,
26070                 asm:    mips.ATRUNCFW,
26071                 reg: regInfo{
26072                         inputs: []inputInfo{
26073                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26074                         },
26075                         outputs: []outputInfo{
26076                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26077                         },
26078                 },
26079         },
26080         {
26081                 name:   "TRUNCDW",
26082                 argLen: 1,
26083                 asm:    mips.ATRUNCDW,
26084                 reg: regInfo{
26085                         inputs: []inputInfo{
26086                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26087                         },
26088                         outputs: []outputInfo{
26089                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26090                         },
26091                 },
26092         },
26093         {
26094                 name:   "MOVFD",
26095                 argLen: 1,
26096                 asm:    mips.AMOVFD,
26097                 reg: regInfo{
26098                         inputs: []inputInfo{
26099                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26100                         },
26101                         outputs: []outputInfo{
26102                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26103                         },
26104                 },
26105         },
26106         {
26107                 name:   "MOVDF",
26108                 argLen: 1,
26109                 asm:    mips.AMOVDF,
26110                 reg: regInfo{
26111                         inputs: []inputInfo{
26112                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26113                         },
26114                         outputs: []outputInfo{
26115                                 {0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
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, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31 F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30 HI LO
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, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31 F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30 HI LO
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},   // R22
26149                                 {0, 402653182}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP R31
26150                         },
26151                         clobbers: 140737421246462, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31 F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30 HI LO
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26163                         },
26164                         clobbers: 140737421246462, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31 F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30 HI LO
26165                 },
26166         },
26167         {
26168                 name:           "LoweredAtomicLoad8",
26169                 argLen:         2,
26170                 faultOnNilArg0: true,
26171                 reg: regInfo{
26172                         inputs: []inputInfo{
26173                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
26174                         },
26175                         outputs: []outputInfo{
26176                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26177                         },
26178                 },
26179         },
26180         {
26181                 name:           "LoweredAtomicLoad32",
26182                 argLen:         2,
26183                 faultOnNilArg0: true,
26184                 reg: regInfo{
26185                         inputs: []inputInfo{
26186                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
26187                         },
26188                         outputs: []outputInfo{
26189                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26201                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26213                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26238                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
26239                         },
26240                         outputs: []outputInfo{
26241                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26255                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
26256                         },
26257                         outputs: []outputInfo{
26258                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
26273                         },
26274                         outputs: []outputInfo{
26275                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26289                                 {2, 469762046},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26290                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
26291                         },
26292                         outputs: []outputInfo{
26293                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26307                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},       // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26321                                 {0, 140738025226238}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 SP g R31 SB
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},         // R1
26333                                 {1, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26334                         },
26335                         clobbers: 2, // R1
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},         // R2
26347                                 {1, 2},         // R1
26348                                 {2, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26349                         },
26350                         clobbers: 6, // R1 R2
26351                 },
26352         },
26353         {
26354                 name:           "LoweredNilCheck",
26355                 argLen:         2,
26356                 nilCheck:       true,
26357                 faultOnNilArg0: true,
26358                 reg: regInfo{
26359                         inputs: []inputInfo{
26360                                 {0, 469762046}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 g R31
26361                         },
26362                 },
26363         },
26364         {
26365                 name:   "FPFlagTrue",
26366                 argLen: 1,
26367                 reg: regInfo{
26368                         outputs: []outputInfo{
26369                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26370                         },
26371                 },
26372         },
26373         {
26374                 name:   "FPFlagFalse",
26375                 argLen: 1,
26376                 reg: regInfo{
26377                         outputs: []outputInfo{
26378                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26379                         },
26380                 },
26381         },
26382         {
26383                 name:      "LoweredGetClosurePtr",
26384                 argLen:    0,
26385                 zeroWidth: true,
26386                 reg: regInfo{
26387                         outputs: []outputInfo{
26388                                 {0, 4194304}, // R22
26389                         },
26390                 },
26391         },
26392         {
26393                 name:              "LoweredGetCallerSP",
26394                 argLen:            1,
26395                 rematerializeable: true,
26396                 reg: regInfo{
26397                         outputs: []outputInfo{
26398                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26399                         },
26400                 },
26401         },
26402         {
26403                 name:              "LoweredGetCallerPC",
26404                 argLen:            0,
26405                 rematerializeable: true,
26406                 reg: regInfo{
26407                         outputs: []outputInfo{
26408                                 {0, 335544318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R28 R31
26409                         },
26410                 },
26411         },
26412         {
26413                 name:         "LoweredWB",
26414                 auxType:      auxInt64,
26415                 argLen:       1,
26416                 clobberFlags: true,
26417                 reg: regInfo{
26418                         clobbers: 140737219919872, // R31 F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30 HI LO
26419                         outputs: []outputInfo{
26420                                 {0, 16777216}, // R25
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},  // R3
26432                                 {1, 16}, // R4
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}, // R2
26444                                 {1, 8}, // R3
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}, // R1
26456                                 {1, 4}, // R2
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}, // R5
26468                                 {1, 8},  // R3
26469                                 {2, 16}, // R4
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}, // R5
26481                                 {1, 4},  // R2
26482                                 {2, 8},  // R3
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}, // R5
26494                                 {1, 2},  // R1
26495                                 {2, 4},  // R2
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26508                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26509                         },
26510                         outputs: []outputInfo{
26511                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31
26523                         },
26524                         outputs: []outputInfo{
26525                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
26526                         },
26527                 },
26528         },
26529         {
26530                 name:   "SUBV",
26531                 argLen: 2,
26532                 asm:    mips.ASUBVU,
26533                 reg: regInfo{
26534                         inputs: []inputInfo{
26535                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26536                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26537                         },
26538                         outputs: []outputInfo{
26539                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26551                         },
26552                         outputs: []outputInfo{
26553                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26565                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26566                         },
26567                         outputs: []outputInfo{
26568                                 {0, 1152921504606846976}, // HI
26569                                 {1, 2305843009213693952}, // LO
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26581                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26582                         },
26583                         outputs: []outputInfo{
26584                                 {0, 1152921504606846976}, // HI
26585                                 {1, 2305843009213693952}, // LO
26586                         },
26587                 },
26588         },
26589         {
26590                 name:   "DIVV",
26591                 argLen: 2,
26592                 asm:    mips.ADIVV,
26593                 reg: regInfo{
26594                         inputs: []inputInfo{
26595                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26596                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26597                         },
26598                         outputs: []outputInfo{
26599                                 {0, 1152921504606846976}, // HI
26600                                 {1, 2305843009213693952}, // LO
26601                         },
26602                 },
26603         },
26604         {
26605                 name:   "DIVVU",
26606                 argLen: 2,
26607                 asm:    mips.ADIVVU,
26608                 reg: regInfo{
26609                         inputs: []inputInfo{
26610                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26611                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26612                         },
26613                         outputs: []outputInfo{
26614                                 {0, 1152921504606846976}, // HI
26615                                 {1, 2305843009213693952}, // LO
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26627                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26628                         },
26629                         outputs: []outputInfo{
26630                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26642                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26643                         },
26644                         outputs: []outputInfo{
26645                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26646                         },
26647                 },
26648         },
26649         {
26650                 name:   "SUBF",
26651                 argLen: 2,
26652                 asm:    mips.ASUBF,
26653                 reg: regInfo{
26654                         inputs: []inputInfo{
26655                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26656                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26657                         },
26658                         outputs: []outputInfo{
26659                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26660                         },
26661                 },
26662         },
26663         {
26664                 name:   "SUBD",
26665                 argLen: 2,
26666                 asm:    mips.ASUBD,
26667                 reg: regInfo{
26668                         inputs: []inputInfo{
26669                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26670                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26671                         },
26672                         outputs: []outputInfo{
26673                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26685                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26686                         },
26687                         outputs: []outputInfo{
26688                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26700                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26701                         },
26702                         outputs: []outputInfo{
26703                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26704                         },
26705                 },
26706         },
26707         {
26708                 name:   "DIVF",
26709                 argLen: 2,
26710                 asm:    mips.ADIVF,
26711                 reg: regInfo{
26712                         inputs: []inputInfo{
26713                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26714                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26715                         },
26716                         outputs: []outputInfo{
26717                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26718                         },
26719                 },
26720         },
26721         {
26722                 name:   "DIVD",
26723                 argLen: 2,
26724                 asm:    mips.ADIVD,
26725                 reg: regInfo{
26726                         inputs: []inputInfo{
26727                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26728                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26729                         },
26730                         outputs: []outputInfo{
26731                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26743                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26744                         },
26745                         outputs: []outputInfo{
26746                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26758                         },
26759                         outputs: []outputInfo{
26760                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26772                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26773                         },
26774                         outputs: []outputInfo{
26775                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26787                         },
26788                         outputs: []outputInfo{
26789                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26801                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26802                         },
26803                         outputs: []outputInfo{
26804                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26816                         },
26817                         outputs: []outputInfo{
26818                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26830                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26831                         },
26832                         outputs: []outputInfo{
26833                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26845                         },
26846                         outputs: []outputInfo{
26847                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
26848                         },
26849                 },
26850         },
26851         {
26852                 name:   "NEGV",
26853                 argLen: 1,
26854                 reg: regInfo{
26855                         inputs: []inputInfo{
26856                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26857                         },
26858                         outputs: []outputInfo{
26859                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
26860                         },
26861                 },
26862         },
26863         {
26864                 name:   "NEGF",
26865                 argLen: 1,
26866                 asm:    mips.ANEGF,
26867                 reg: regInfo{
26868                         inputs: []inputInfo{
26869                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26870                         },
26871                         outputs: []outputInfo{
26872                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26873                         },
26874                 },
26875         },
26876         {
26877                 name:   "NEGD",
26878                 argLen: 1,
26879                 asm:    mips.ANEGD,
26880                 reg: regInfo{
26881                         inputs: []inputInfo{
26882                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26883                         },
26884                         outputs: []outputInfo{
26885                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26886                         },
26887                 },
26888         },
26889         {
26890                 name:   "ABSD",
26891                 argLen: 1,
26892                 asm:    mips.AABSD,
26893                 reg: regInfo{
26894                         inputs: []inputInfo{
26895                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26896                         },
26897                         outputs: []outputInfo{
26898                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26899                         },
26900                 },
26901         },
26902         {
26903                 name:   "SQRTD",
26904                 argLen: 1,
26905                 asm:    mips.ASQRTD,
26906                 reg: regInfo{
26907                         inputs: []inputInfo{
26908                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26909                         },
26910                         outputs: []outputInfo{
26911                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26912                         },
26913                 },
26914         },
26915         {
26916                 name:   "SQRTF",
26917                 argLen: 1,
26918                 asm:    mips.ASQRTF,
26919                 reg: regInfo{
26920                         inputs: []inputInfo{
26921                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26922                         },
26923                         outputs: []outputInfo{
26924                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
26925                         },
26926                 },
26927         },
26928         {
26929                 name:   "SLLV",
26930                 argLen: 2,
26931                 asm:    mips.ASLLV,
26932                 reg: regInfo{
26933                         inputs: []inputInfo{
26934                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26935                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26936                         },
26937                         outputs: []outputInfo{
26938                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26950                         },
26951                         outputs: []outputInfo{
26952                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
26953                         },
26954                 },
26955         },
26956         {
26957                 name:   "SRLV",
26958                 argLen: 2,
26959                 asm:    mips.ASRLV,
26960                 reg: regInfo{
26961                         inputs: []inputInfo{
26962                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26963                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26964                         },
26965                         outputs: []outputInfo{
26966                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26978                         },
26979                         outputs: []outputInfo{
26980                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
26981                         },
26982                 },
26983         },
26984         {
26985                 name:   "SRAV",
26986                 argLen: 2,
26987                 asm:    mips.ASRAV,
26988                 reg: regInfo{
26989                         inputs: []inputInfo{
26990                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26991                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
26992                         },
26993                         outputs: []outputInfo{
26994                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27006                         },
27007                         outputs: []outputInfo{
27008                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27009                         },
27010                 },
27011         },
27012         {
27013                 name:   "SGT",
27014                 argLen: 2,
27015                 asm:    mips.ASGT,
27016                 reg: regInfo{
27017                         inputs: []inputInfo{
27018                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27019                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27020                         },
27021                         outputs: []outputInfo{
27022                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27034                         },
27035                         outputs: []outputInfo{
27036                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27037                         },
27038                 },
27039         },
27040         {
27041                 name:   "SGTU",
27042                 argLen: 2,
27043                 asm:    mips.ASGTU,
27044                 reg: regInfo{
27045                         inputs: []inputInfo{
27046                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27047                                 {1, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27048                         },
27049                         outputs: []outputInfo{
27050                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27062                         },
27063                         outputs: []outputInfo{
27064                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27065                         },
27066                 },
27067         },
27068         {
27069                 name:   "CMPEQF",
27070                 argLen: 2,
27071                 asm:    mips.ACMPEQF,
27072                 reg: regInfo{
27073                         inputs: []inputInfo{
27074                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27075                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27076                         },
27077                 },
27078         },
27079         {
27080                 name:   "CMPEQD",
27081                 argLen: 2,
27082                 asm:    mips.ACMPEQD,
27083                 reg: regInfo{
27084                         inputs: []inputInfo{
27085                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27086                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27087                         },
27088                 },
27089         },
27090         {
27091                 name:   "CMPGEF",
27092                 argLen: 2,
27093                 asm:    mips.ACMPGEF,
27094                 reg: regInfo{
27095                         inputs: []inputInfo{
27096                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27097                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27098                         },
27099                 },
27100         },
27101         {
27102                 name:   "CMPGED",
27103                 argLen: 2,
27104                 asm:    mips.ACMPGED,
27105                 reg: regInfo{
27106                         inputs: []inputInfo{
27107                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27108                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27109                         },
27110                 },
27111         },
27112         {
27113                 name:   "CMPGTF",
27114                 argLen: 2,
27115                 asm:    mips.ACMPGTF,
27116                 reg: regInfo{
27117                         inputs: []inputInfo{
27118                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27119                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27120                         },
27121                 },
27122         },
27123         {
27124                 name:   "CMPGTD",
27125                 argLen: 2,
27126                 asm:    mips.ACMPGTD,
27127                 reg: regInfo{
27128                         inputs: []inputInfo{
27129                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27130                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // SP SB
27180                         },
27181                         outputs: []outputInfo{
27182                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27196                         },
27197                         outputs: []outputInfo{
27198                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27212                         },
27213                         outputs: []outputInfo{
27214                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27228                         },
27229                         outputs: []outputInfo{
27230                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27244                         },
27245                         outputs: []outputInfo{
27246                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27260                         },
27261                         outputs: []outputInfo{
27262                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27276                         },
27277                         outputs: []outputInfo{
27278                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27292                         },
27293                         outputs: []outputInfo{
27294                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27308                         },
27309                         outputs: []outputInfo{
27310                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27324                         },
27325                         outputs: []outputInfo{
27326                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27340                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27354                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27368                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27382                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27396                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27410                                 {1, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27463                         },
27464                 },
27465         },
27466         {
27467                 name:   "MOVWfpgp",
27468                 argLen: 1,
27469                 asm:    mips.AMOVW,
27470                 reg: regInfo{
27471                         inputs: []inputInfo{
27472                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27473                         },
27474                         outputs: []outputInfo{
27475                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27476                         },
27477                 },
27478         },
27479         {
27480                 name:   "MOVWgpfp",
27481                 argLen: 1,
27482                 asm:    mips.AMOVW,
27483                 reg: regInfo{
27484                         inputs: []inputInfo{
27485                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27486                         },
27487                         outputs: []outputInfo{
27488                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27489                         },
27490                 },
27491         },
27492         {
27493                 name:   "MOVVfpgp",
27494                 argLen: 1,
27495                 asm:    mips.AMOVV,
27496                 reg: regInfo{
27497                         inputs: []inputInfo{
27498                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27499                         },
27500                         outputs: []outputInfo{
27501                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27502                         },
27503                 },
27504         },
27505         {
27506                 name:   "MOVVgpfp",
27507                 argLen: 1,
27508                 asm:    mips.AMOVV,
27509                 reg: regInfo{
27510                         inputs: []inputInfo{
27511                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27512                         },
27513                         outputs: []outputInfo{
27514                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27515                         },
27516                 },
27517         },
27518         {
27519                 name:   "MOVBreg",
27520                 argLen: 1,
27521                 asm:    mips.AMOVB,
27522                 reg: regInfo{
27523                         inputs: []inputInfo{
27524                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27525                         },
27526                         outputs: []outputInfo{
27527                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27528                         },
27529                 },
27530         },
27531         {
27532                 name:   "MOVBUreg",
27533                 argLen: 1,
27534                 asm:    mips.AMOVBU,
27535                 reg: regInfo{
27536                         inputs: []inputInfo{
27537                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27538                         },
27539                         outputs: []outputInfo{
27540                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27541                         },
27542                 },
27543         },
27544         {
27545                 name:   "MOVHreg",
27546                 argLen: 1,
27547                 asm:    mips.AMOVH,
27548                 reg: regInfo{
27549                         inputs: []inputInfo{
27550                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27551                         },
27552                         outputs: []outputInfo{
27553                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27554                         },
27555                 },
27556         },
27557         {
27558                 name:   "MOVHUreg",
27559                 argLen: 1,
27560                 asm:    mips.AMOVHU,
27561                 reg: regInfo{
27562                         inputs: []inputInfo{
27563                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27564                         },
27565                         outputs: []outputInfo{
27566                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27567                         },
27568                 },
27569         },
27570         {
27571                 name:   "MOVWreg",
27572                 argLen: 1,
27573                 asm:    mips.AMOVW,
27574                 reg: regInfo{
27575                         inputs: []inputInfo{
27576                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27577                         },
27578                         outputs: []outputInfo{
27579                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27580                         },
27581                 },
27582         },
27583         {
27584                 name:   "MOVWUreg",
27585                 argLen: 1,
27586                 asm:    mips.AMOVWU,
27587                 reg: regInfo{
27588                         inputs: []inputInfo{
27589                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27590                         },
27591                         outputs: []outputInfo{
27592                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27593                         },
27594                 },
27595         },
27596         {
27597                 name:   "MOVVreg",
27598                 argLen: 1,
27599                 asm:    mips.AMOVV,
27600                 reg: regInfo{
27601                         inputs: []inputInfo{
27602                                 {0, 234881022}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27603                         },
27604                         outputs: []outputInfo{
27605                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27606                         },
27607                 },
27608         },
27609         {
27610                 name:         "MOVVnop",
27611                 argLen:       1,
27612                 resultInArg0: true,
27613                 reg: regInfo{
27614                         inputs: []inputInfo{
27615                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27616                         },
27617                         outputs: []outputInfo{
27618                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27619                         },
27620                 },
27621         },
27622         {
27623                 name:   "MOVWF",
27624                 argLen: 1,
27625                 asm:    mips.AMOVWF,
27626                 reg: regInfo{
27627                         inputs: []inputInfo{
27628                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27629                         },
27630                         outputs: []outputInfo{
27631                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27632                         },
27633                 },
27634         },
27635         {
27636                 name:   "MOVWD",
27637                 argLen: 1,
27638                 asm:    mips.AMOVWD,
27639                 reg: regInfo{
27640                         inputs: []inputInfo{
27641                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27642                         },
27643                         outputs: []outputInfo{
27644                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27645                         },
27646                 },
27647         },
27648         {
27649                 name:   "MOVVF",
27650                 argLen: 1,
27651                 asm:    mips.AMOVVF,
27652                 reg: regInfo{
27653                         inputs: []inputInfo{
27654                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27655                         },
27656                         outputs: []outputInfo{
27657                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27658                         },
27659                 },
27660         },
27661         {
27662                 name:   "MOVVD",
27663                 argLen: 1,
27664                 asm:    mips.AMOVVD,
27665                 reg: regInfo{
27666                         inputs: []inputInfo{
27667                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27668                         },
27669                         outputs: []outputInfo{
27670                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27671                         },
27672                 },
27673         },
27674         {
27675                 name:   "TRUNCFW",
27676                 argLen: 1,
27677                 asm:    mips.ATRUNCFW,
27678                 reg: regInfo{
27679                         inputs: []inputInfo{
27680                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27681                         },
27682                         outputs: []outputInfo{
27683                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27684                         },
27685                 },
27686         },
27687         {
27688                 name:   "TRUNCDW",
27689                 argLen: 1,
27690                 asm:    mips.ATRUNCDW,
27691                 reg: regInfo{
27692                         inputs: []inputInfo{
27693                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27694                         },
27695                         outputs: []outputInfo{
27696                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27697                         },
27698                 },
27699         },
27700         {
27701                 name:   "TRUNCFV",
27702                 argLen: 1,
27703                 asm:    mips.ATRUNCFV,
27704                 reg: regInfo{
27705                         inputs: []inputInfo{
27706                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27707                         },
27708                         outputs: []outputInfo{
27709                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27710                         },
27711                 },
27712         },
27713         {
27714                 name:   "TRUNCDV",
27715                 argLen: 1,
27716                 asm:    mips.ATRUNCDV,
27717                 reg: regInfo{
27718                         inputs: []inputInfo{
27719                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27720                         },
27721                         outputs: []outputInfo{
27722                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27723                         },
27724                 },
27725         },
27726         {
27727                 name:   "MOVFD",
27728                 argLen: 1,
27729                 asm:    mips.AMOVFD,
27730                 reg: regInfo{
27731                         inputs: []inputInfo{
27732                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27733                         },
27734                         outputs: []outputInfo{
27735                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27736                         },
27737                 },
27738         },
27739         {
27740                 name:   "MOVDF",
27741                 argLen: 1,
27742                 asm:    mips.AMOVDF,
27743                 reg: regInfo{
27744                         inputs: []inputInfo{
27745                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
27746                         },
27747                         outputs: []outputInfo{
27748                                 {0, 1152921504338411520}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 HI LO
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, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 HI LO
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},   // R22
27782                                 {0, 201326590}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP R31
27783                         },
27784                         clobbers: 4611686018393833470, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 HI LO
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27796                         },
27797                         clobbers: 4611686018393833470, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 HI LO
27798                 },
27799         },
27800         {
27801                 name:           "DUFFZERO",
27802                 auxType:        auxInt64,
27803                 argLen:         2,
27804                 faultOnNilArg0: true,
27805                 reg: regInfo{
27806                         inputs: []inputInfo{
27807                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27808                         },
27809                         clobbers: 134217730, // R1 R31
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}, // R2
27821                                 {1, 2}, // R1
27822                         },
27823                         clobbers: 134217734, // R1 R2 R31
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},         // R1
27835                                 {1, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27836                         },
27837                         clobbers: 2, // R1
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},         // R2
27850                                 {1, 2},         // R1
27851                                 {2, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27852                         },
27853                         clobbers: 6, // R1 R2
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27866                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27880                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27881                         },
27882                 },
27883         },
27884         {
27885                 name:           "LoweredAtomicLoad8",
27886                 argLen:         2,
27887                 faultOnNilArg0: true,
27888                 reg: regInfo{
27889                         inputs: []inputInfo{
27890                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27891                         },
27892                         outputs: []outputInfo{
27893                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27894                         },
27895                 },
27896         },
27897         {
27898                 name:           "LoweredAtomicLoad32",
27899                 argLen:         2,
27900                 faultOnNilArg0: true,
27901                 reg: regInfo{
27902                         inputs: []inputInfo{
27903                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27904                         },
27905                         outputs: []outputInfo{
27906                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
27907                         },
27908                 },
27909         },
27910         {
27911                 name:           "LoweredAtomicLoad64",
27912                 argLen:         2,
27913                 faultOnNilArg0: true,
27914                 reg: regInfo{
27915                         inputs: []inputInfo{
27916                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27917                         },
27918                         outputs: []outputInfo{
27919                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27931                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27943                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27955                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
27991                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
27992                         },
27993                         outputs: []outputInfo{
27994                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28008                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28009                         },
28010                         outputs: []outputInfo{
28011                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28025                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28026                         },
28027                         outputs: []outputInfo{
28028                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28042                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28043                         },
28044                         outputs: []outputInfo{
28045                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28060                         },
28061                         outputs: []outputInfo{
28062                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28077                         },
28078                         outputs: []outputInfo{
28079                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28093                                 {2, 234881022},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28094                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28095                         },
28096                         outputs: []outputInfo{
28097                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28111                                 {2, 234881022},           // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28112                                 {0, 4611686018695823358}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 SP g R31 SB
28113                         },
28114                         outputs: []outputInfo{
28115                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 g R31
28127                         },
28128                 },
28129         },
28130         {
28131                 name:   "FPFlagTrue",
28132                 argLen: 1,
28133                 reg: regInfo{
28134                         outputs: []outputInfo{
28135                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
28136                         },
28137                 },
28138         },
28139         {
28140                 name:   "FPFlagFalse",
28141                 argLen: 1,
28142                 reg: regInfo{
28143                         outputs: []outputInfo{
28144                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
28145                         },
28146                 },
28147         },
28148         {
28149                 name:      "LoweredGetClosurePtr",
28150                 argLen:    0,
28151                 zeroWidth: true,
28152                 reg: regInfo{
28153                         outputs: []outputInfo{
28154                                 {0, 4194304}, // R22
28155                         },
28156                 },
28157         },
28158         {
28159                 name:              "LoweredGetCallerSP",
28160                 argLen:            1,
28161                 rematerializeable: true,
28162                 reg: regInfo{
28163                         outputs: []outputInfo{
28164                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
28165                         },
28166                 },
28167         },
28168         {
28169                 name:              "LoweredGetCallerPC",
28170                 argLen:            0,
28171                 rematerializeable: true,
28172                 reg: regInfo{
28173                         outputs: []outputInfo{
28174                                 {0, 167772158}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R24 R25 R31
28175                         },
28176                 },
28177         },
28178         {
28179                 name:         "LoweredWB",
28180                 auxType:      auxInt64,
28181                 argLen:       1,
28182                 clobberFlags: true,
28183                 reg: regInfo{
28184                         clobbers: 4611686018293170176, // R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 HI LO
28185                         outputs: []outputInfo{
28186                                 {0, 16777216}, // R25
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},  // R3
28198                                 {1, 16}, // R4
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}, // R2
28210                                 {1, 8}, // R3
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}, // R1
28222                                 {1, 4}, // R2
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28235                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28236                         },
28237                         outputs: []outputInfo{
28238                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28250                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28251                         },
28252                         outputs: []outputInfo{
28253                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28265                         },
28266                         outputs: []outputInfo{
28267                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28279                         },
28280                         clobbers: 9223372036854775808, // XER
28281                         outputs: []outputInfo{
28282                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28294                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28295                         },
28296                         outputs: []outputInfo{
28297                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28309                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28310                         },
28311                         outputs: []outputInfo{
28312                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28313                         },
28314                 },
28315         },
28316         {
28317                 name:   "SUB",
28318                 argLen: 2,
28319                 asm:    ppc64.ASUB,
28320                 reg: regInfo{
28321                         inputs: []inputInfo{
28322                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28323                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28324                         },
28325                         outputs: []outputInfo{
28326                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28327                         },
28328                 },
28329         },
28330         {
28331                 name:   "SUBCC",
28332                 argLen: 2,
28333                 asm:    ppc64.ASUBCC,
28334                 reg: regInfo{
28335                         inputs: []inputInfo{
28336                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28337                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28338                         },
28339                         outputs: []outputInfo{
28340                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28352                         },
28353                         clobbers: 9223372036854775808, // XER
28354                         outputs: []outputInfo{
28355                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28356                         },
28357                 },
28358         },
28359         {
28360                 name:   "FSUB",
28361                 argLen: 2,
28362                 asm:    ppc64.AFSUB,
28363                 reg: regInfo{
28364                         inputs: []inputInfo{
28365                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28366                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28367                         },
28368                         outputs: []outputInfo{
28369                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28370                         },
28371                 },
28372         },
28373         {
28374                 name:   "FSUBS",
28375                 argLen: 2,
28376                 asm:    ppc64.AFSUBS,
28377                 reg: regInfo{
28378                         inputs: []inputInfo{
28379                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28380                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28381                         },
28382                         outputs: []outputInfo{
28383                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28395                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28396                         },
28397                         outputs: []outputInfo{
28398                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28410                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28411                         },
28412                         outputs: []outputInfo{
28413                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28425                         },
28426                         outputs: []outputInfo{
28427                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28439                         },
28440                         outputs: []outputInfo{
28441                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28442                         },
28443                 },
28444         },
28445         {
28446                 name:   "MADDLD",
28447                 argLen: 3,
28448                 asm:    ppc64.AMADDLD,
28449                 reg: regInfo{
28450                         inputs: []inputInfo{
28451                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28452                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28453                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28454                         },
28455                         outputs: []outputInfo{
28456                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28468                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28469                         },
28470                         outputs: []outputInfo{
28471                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28483                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28484                         },
28485                         outputs: []outputInfo{
28486                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28498                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28499                         },
28500                         outputs: []outputInfo{
28501                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28513                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28514                         },
28515                         outputs: []outputInfo{
28516                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28528                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28529                         },
28530                         outputs: []outputInfo{
28531                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28543                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28544                         },
28545                         outputs: []outputInfo{
28546                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28547                         },
28548                 },
28549         },
28550         {
28551                 name:   "FMADD",
28552                 argLen: 3,
28553                 asm:    ppc64.AFMADD,
28554                 reg: regInfo{
28555                         inputs: []inputInfo{
28556                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28557                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28558                                 {2, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28559                         },
28560                         outputs: []outputInfo{
28561                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28562                         },
28563                 },
28564         },
28565         {
28566                 name:   "FMADDS",
28567                 argLen: 3,
28568                 asm:    ppc64.AFMADDS,
28569                 reg: regInfo{
28570                         inputs: []inputInfo{
28571                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28572                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28573                                 {2, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28574                         },
28575                         outputs: []outputInfo{
28576                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28577                         },
28578                 },
28579         },
28580         {
28581                 name:   "FMSUB",
28582                 argLen: 3,
28583                 asm:    ppc64.AFMSUB,
28584                 reg: regInfo{
28585                         inputs: []inputInfo{
28586                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28587                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28588                                 {2, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28589                         },
28590                         outputs: []outputInfo{
28591                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28592                         },
28593                 },
28594         },
28595         {
28596                 name:   "FMSUBS",
28597                 argLen: 3,
28598                 asm:    ppc64.AFMSUBS,
28599                 reg: regInfo{
28600                         inputs: []inputInfo{
28601                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28602                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28603                                 {2, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28604                         },
28605                         outputs: []outputInfo{
28606                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
28607                         },
28608                 },
28609         },
28610         {
28611                 name:   "SRAD",
28612                 argLen: 2,
28613                 asm:    ppc64.ASRAD,
28614                 reg: regInfo{
28615                         inputs: []inputInfo{
28616                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28617                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28618                         },
28619                         clobbers: 9223372036854775808, // XER
28620                         outputs: []outputInfo{
28621                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28622                         },
28623                 },
28624         },
28625         {
28626                 name:   "SRAW",
28627                 argLen: 2,
28628                 asm:    ppc64.ASRAW,
28629                 reg: regInfo{
28630                         inputs: []inputInfo{
28631                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28632                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28633                         },
28634                         clobbers: 9223372036854775808, // XER
28635                         outputs: []outputInfo{
28636                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28637                         },
28638                 },
28639         },
28640         {
28641                 name:   "SRD",
28642                 argLen: 2,
28643                 asm:    ppc64.ASRD,
28644                 reg: regInfo{
28645                         inputs: []inputInfo{
28646                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28647                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28648                         },
28649                         outputs: []outputInfo{
28650                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28651                         },
28652                 },
28653         },
28654         {
28655                 name:   "SRW",
28656                 argLen: 2,
28657                 asm:    ppc64.ASRW,
28658                 reg: regInfo{
28659                         inputs: []inputInfo{
28660                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28661                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28662                         },
28663                         outputs: []outputInfo{
28664                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28665                         },
28666                 },
28667         },
28668         {
28669                 name:   "SLD",
28670                 argLen: 2,
28671                 asm:    ppc64.ASLD,
28672                 reg: regInfo{
28673                         inputs: []inputInfo{
28674                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28675                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28676                         },
28677                         outputs: []outputInfo{
28678                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28679                         },
28680                 },
28681         },
28682         {
28683                 name:   "SLW",
28684                 argLen: 2,
28685                 asm:    ppc64.ASLW,
28686                 reg: regInfo{
28687                         inputs: []inputInfo{
28688                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28689                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28690                         },
28691                         outputs: []outputInfo{
28692                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28693                         },
28694                 },
28695         },
28696         {
28697                 name:   "ROTL",
28698                 argLen: 2,
28699                 asm:    ppc64.AROTL,
28700                 reg: regInfo{
28701                         inputs: []inputInfo{
28702                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28703                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28704                         },
28705                         outputs: []outputInfo{
28706                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28707                         },
28708                 },
28709         },
28710         {
28711                 name:   "ROTLW",
28712                 argLen: 2,
28713                 asm:    ppc64.AROTLW,
28714                 reg: regInfo{
28715                         inputs: []inputInfo{
28716                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28717                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28718                         },
28719                         outputs: []outputInfo{
28720                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28732                         },
28733                         outputs: []outputInfo{
28734                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28746                         },
28747                         outputs: []outputInfo{
28748                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28760                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28761                         },
28762                         clobbers: 9223372036854775808, // XER
28763                         outputs: []outputInfo{
28764                                 {1, 9223372036854775808}, // XER
28765                                 {0, 1073733624},          // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28766                         },
28767                 },
28768         },
28769         {
28770                 name:   "SUBC",
28771                 argLen: 2,
28772                 asm:    ppc64.ASUBC,
28773                 reg: regInfo{
28774                         inputs: []inputInfo{
28775                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28776                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28777                         },
28778                         clobbers: 9223372036854775808, // XER
28779                         outputs: []outputInfo{
28780                                 {1, 9223372036854775808}, // XER
28781                                 {0, 1073733624},          // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28793                         },
28794                         outputs: []outputInfo{
28795                                 {1, 9223372036854775808}, // XER
28796                                 {0, 1073733624},          // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28808                         },
28809                         outputs: []outputInfo{
28810                                 {1, 9223372036854775808}, // XER
28811                                 {0, 1073733624},          // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // XER
28823                                 {0, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28824                                 {1, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28825                         },
28826                         clobbers: 9223372036854775808, // XER
28827                         outputs: []outputInfo{
28828                                 {1, 9223372036854775808}, // XER
28829                                 {0, 1073733624},          // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28830                         },
28831                 },
28832         },
28833         {
28834                 name:   "SUBE",
28835                 argLen: 3,
28836                 asm:    ppc64.ASUBE,
28837                 reg: regInfo{
28838                         inputs: []inputInfo{
28839                                 {2, 9223372036854775808}, // XER
28840                                 {0, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28841                                 {1, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28842                         },
28843                         clobbers: 9223372036854775808, // XER
28844                         outputs: []outputInfo{
28845                                 {1, 9223372036854775808}, // XER
28846                                 {0, 1073733624},          // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28847                         },
28848                 },
28849         },
28850         {
28851                 name:   "ADDZEzero",
28852                 argLen: 1,
28853                 asm:    ppc64.AADDZE,
28854                 reg: regInfo{
28855                         inputs: []inputInfo{
28856                                 {0, 9223372036854775808}, // XER
28857                         },
28858                         clobbers: 9223372036854775808, // XER
28859                         outputs: []outputInfo{
28860                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28861                         },
28862                 },
28863         },
28864         {
28865                 name:   "SUBZEzero",
28866                 argLen: 1,
28867                 asm:    ppc64.ASUBZE,
28868                 reg: regInfo{
28869                         inputs: []inputInfo{
28870                                 {0, 9223372036854775808}, // XER
28871                         },
28872                         clobbers: 9223372036854775808, // XER
28873                         outputs: []outputInfo{
28874                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28886                         },
28887                         clobbers: 9223372036854775808, // XER
28888                         outputs: []outputInfo{
28889                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28901                         },
28902                         clobbers: 9223372036854775808, // XER
28903                         outputs: []outputInfo{
28904                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28916                         },
28917                         outputs: []outputInfo{
28918                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28930                         },
28931                         outputs: []outputInfo{
28932                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28944                         },
28945                         outputs: []outputInfo{
28946                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28958                         },
28959                         outputs: []outputInfo{
28960                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28972                         },
28973                         outputs: []outputInfo{
28974                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
28986                         },
28987                         outputs: []outputInfo{
28988                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29000                         },
29001                         outputs: []outputInfo{
29002                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29014                         },
29015                         outputs: []outputInfo{
29016                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29028                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29029                         },
29030                         outputs: []outputInfo{
29031                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29044                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29045                         },
29046                         outputs: []outputInfo{
29047                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29059                         },
29060                         outputs: []outputInfo{
29061                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29073                         },
29074                         outputs: []outputInfo{
29075                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29076                         },
29077                 },
29078         },
29079         {
29080                 name:   "CNTLZD",
29081                 argLen: 1,
29082                 asm:    ppc64.ACNTLZD,
29083                 reg: regInfo{
29084                         inputs: []inputInfo{
29085                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29086                         },
29087                         outputs: []outputInfo{
29088                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29089                         },
29090                 },
29091         },
29092         {
29093                 name:   "CNTLZDCC",
29094                 argLen: 1,
29095                 asm:    ppc64.ACNTLZDCC,
29096                 reg: regInfo{
29097                         inputs: []inputInfo{
29098                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29099                         },
29100                         outputs: []outputInfo{
29101                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29102                         },
29103                 },
29104         },
29105         {
29106                 name:   "CNTLZW",
29107                 argLen: 1,
29108                 asm:    ppc64.ACNTLZW,
29109                 reg: regInfo{
29110                         inputs: []inputInfo{
29111                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29112                         },
29113                         outputs: []outputInfo{
29114                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29115                         },
29116                 },
29117         },
29118         {
29119                 name:   "CNTTZD",
29120                 argLen: 1,
29121                 asm:    ppc64.ACNTTZD,
29122                 reg: regInfo{
29123                         inputs: []inputInfo{
29124                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29125                         },
29126                         outputs: []outputInfo{
29127                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29128                         },
29129                 },
29130         },
29131         {
29132                 name:   "CNTTZW",
29133                 argLen: 1,
29134                 asm:    ppc64.ACNTTZW,
29135                 reg: regInfo{
29136                         inputs: []inputInfo{
29137                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29138                         },
29139                         outputs: []outputInfo{
29140                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29141                         },
29142                 },
29143         },
29144         {
29145                 name:   "POPCNTD",
29146                 argLen: 1,
29147                 asm:    ppc64.APOPCNTD,
29148                 reg: regInfo{
29149                         inputs: []inputInfo{
29150                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29151                         },
29152                         outputs: []outputInfo{
29153                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29154                         },
29155                 },
29156         },
29157         {
29158                 name:   "POPCNTW",
29159                 argLen: 1,
29160                 asm:    ppc64.APOPCNTW,
29161                 reg: regInfo{
29162                         inputs: []inputInfo{
29163                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29164                         },
29165                         outputs: []outputInfo{
29166                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29167                         },
29168                 },
29169         },
29170         {
29171                 name:   "POPCNTB",
29172                 argLen: 1,
29173                 asm:    ppc64.APOPCNTB,
29174                 reg: regInfo{
29175                         inputs: []inputInfo{
29176                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29177                         },
29178                         outputs: []outputInfo{
29179                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29180                         },
29181                 },
29182         },
29183         {
29184                 name:   "FDIV",
29185                 argLen: 2,
29186                 asm:    ppc64.AFDIV,
29187                 reg: regInfo{
29188                         inputs: []inputInfo{
29189                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29190                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29191                         },
29192                         outputs: []outputInfo{
29193                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29194                         },
29195                 },
29196         },
29197         {
29198                 name:   "FDIVS",
29199                 argLen: 2,
29200                 asm:    ppc64.AFDIVS,
29201                 reg: regInfo{
29202                         inputs: []inputInfo{
29203                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29204                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29205                         },
29206                         outputs: []outputInfo{
29207                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29208                         },
29209                 },
29210         },
29211         {
29212                 name:   "DIVD",
29213                 argLen: 2,
29214                 asm:    ppc64.ADIVD,
29215                 reg: regInfo{
29216                         inputs: []inputInfo{
29217                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29218                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29219                         },
29220                         outputs: []outputInfo{
29221                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29222                         },
29223                 },
29224         },
29225         {
29226                 name:   "DIVW",
29227                 argLen: 2,
29228                 asm:    ppc64.ADIVW,
29229                 reg: regInfo{
29230                         inputs: []inputInfo{
29231                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29232                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29233                         },
29234                         outputs: []outputInfo{
29235                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29236                         },
29237                 },
29238         },
29239         {
29240                 name:   "DIVDU",
29241                 argLen: 2,
29242                 asm:    ppc64.ADIVDU,
29243                 reg: regInfo{
29244                         inputs: []inputInfo{
29245                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29246                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29247                         },
29248                         outputs: []outputInfo{
29249                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29250                         },
29251                 },
29252         },
29253         {
29254                 name:   "DIVWU",
29255                 argLen: 2,
29256                 asm:    ppc64.ADIVWU,
29257                 reg: regInfo{
29258                         inputs: []inputInfo{
29259                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29260                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29261                         },
29262                         outputs: []outputInfo{
29263                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29264                         },
29265                 },
29266         },
29267         {
29268                 name:   "MODUD",
29269                 argLen: 2,
29270                 asm:    ppc64.AMODUD,
29271                 reg: regInfo{
29272                         inputs: []inputInfo{
29273                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29274                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29275                         },
29276                         outputs: []outputInfo{
29277                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29278                         },
29279                 },
29280         },
29281         {
29282                 name:   "MODSD",
29283                 argLen: 2,
29284                 asm:    ppc64.AMODSD,
29285                 reg: regInfo{
29286                         inputs: []inputInfo{
29287                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29288                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29289                         },
29290                         outputs: []outputInfo{
29291                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29292                         },
29293                 },
29294         },
29295         {
29296                 name:   "MODUW",
29297                 argLen: 2,
29298                 asm:    ppc64.AMODUW,
29299                 reg: regInfo{
29300                         inputs: []inputInfo{
29301                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29302                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29303                         },
29304                         outputs: []outputInfo{
29305                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29306                         },
29307                 },
29308         },
29309         {
29310                 name:   "MODSW",
29311                 argLen: 2,
29312                 asm:    ppc64.AMODSW,
29313                 reg: regInfo{
29314                         inputs: []inputInfo{
29315                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29316                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29317                         },
29318                         outputs: []outputInfo{
29319                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29320                         },
29321                 },
29322         },
29323         {
29324                 name:   "FCTIDZ",
29325                 argLen: 1,
29326                 asm:    ppc64.AFCTIDZ,
29327                 reg: regInfo{
29328                         inputs: []inputInfo{
29329                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29330                         },
29331                         outputs: []outputInfo{
29332                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29333                         },
29334                 },
29335         },
29336         {
29337                 name:   "FCTIWZ",
29338                 argLen: 1,
29339                 asm:    ppc64.AFCTIWZ,
29340                 reg: regInfo{
29341                         inputs: []inputInfo{
29342                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29343                         },
29344                         outputs: []outputInfo{
29345                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29346                         },
29347                 },
29348         },
29349         {
29350                 name:   "FCFID",
29351                 argLen: 1,
29352                 asm:    ppc64.AFCFID,
29353                 reg: regInfo{
29354                         inputs: []inputInfo{
29355                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29356                         },
29357                         outputs: []outputInfo{
29358                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29359                         },
29360                 },
29361         },
29362         {
29363                 name:   "FCFIDS",
29364                 argLen: 1,
29365                 asm:    ppc64.AFCFIDS,
29366                 reg: regInfo{
29367                         inputs: []inputInfo{
29368                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29369                         },
29370                         outputs: []outputInfo{
29371                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29372                         },
29373                 },
29374         },
29375         {
29376                 name:   "FRSP",
29377                 argLen: 1,
29378                 asm:    ppc64.AFRSP,
29379                 reg: regInfo{
29380                         inputs: []inputInfo{
29381                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29382                         },
29383                         outputs: []outputInfo{
29384                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29385                         },
29386                 },
29387         },
29388         {
29389                 name:   "MFVSRD",
29390                 argLen: 1,
29391                 asm:    ppc64.AMFVSRD,
29392                 reg: regInfo{
29393                         inputs: []inputInfo{
29394                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29395                         },
29396                         outputs: []outputInfo{
29397                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29398                         },
29399                 },
29400         },
29401         {
29402                 name:   "MTVSRD",
29403                 argLen: 1,
29404                 asm:    ppc64.AMTVSRD,
29405                 reg: regInfo{
29406                         inputs: []inputInfo{
29407                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29408                         },
29409                         outputs: []outputInfo{
29410                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29422                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29423                         },
29424                         outputs: []outputInfo{
29425                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29426                         },
29427                 },
29428         },
29429         {
29430                 name:   "ANDN",
29431                 argLen: 2,
29432                 asm:    ppc64.AANDN,
29433                 reg: regInfo{
29434                         inputs: []inputInfo{
29435                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29436                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29437                         },
29438                         outputs: []outputInfo{
29439                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29440                         },
29441                 },
29442         },
29443         {
29444                 name:   "ANDNCC",
29445                 argLen: 2,
29446                 asm:    ppc64.AANDNCC,
29447                 reg: regInfo{
29448                         inputs: []inputInfo{
29449                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29450                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29451                         },
29452                         outputs: []outputInfo{
29453                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29465                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29466                         },
29467                         outputs: []outputInfo{
29468                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29480                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29481                         },
29482                         outputs: []outputInfo{
29483                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29484                         },
29485                 },
29486         },
29487         {
29488                 name:   "ORN",
29489                 argLen: 2,
29490                 asm:    ppc64.AORN,
29491                 reg: regInfo{
29492                         inputs: []inputInfo{
29493                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29494                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29495                         },
29496                         outputs: []outputInfo{
29497                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29509                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29510                         },
29511                         outputs: []outputInfo{
29512                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29524                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29525                         },
29526                         outputs: []outputInfo{
29527                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29539                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29540                         },
29541                         outputs: []outputInfo{
29542                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29554                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29555                         },
29556                         outputs: []outputInfo{
29557                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29569                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29570                         },
29571                         outputs: []outputInfo{
29572                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29584                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29585                         },
29586                         outputs: []outputInfo{
29587                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29588                         },
29589                 },
29590         },
29591         {
29592                 name:   "NEG",
29593                 argLen: 1,
29594                 asm:    ppc64.ANEG,
29595                 reg: regInfo{
29596                         inputs: []inputInfo{
29597                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29598                         },
29599                         outputs: []outputInfo{
29600                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29601                         },
29602                 },
29603         },
29604         {
29605                 name:   "NEGCC",
29606                 argLen: 1,
29607                 asm:    ppc64.ANEGCC,
29608                 reg: regInfo{
29609                         inputs: []inputInfo{
29610                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29611                         },
29612                         outputs: []outputInfo{
29613                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29614                         },
29615                 },
29616         },
29617         {
29618                 name:   "BRD",
29619                 argLen: 1,
29620                 asm:    ppc64.ABRD,
29621                 reg: regInfo{
29622                         inputs: []inputInfo{
29623                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29624                         },
29625                         outputs: []outputInfo{
29626                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29627                         },
29628                 },
29629         },
29630         {
29631                 name:   "BRW",
29632                 argLen: 1,
29633                 asm:    ppc64.ABRW,
29634                 reg: regInfo{
29635                         inputs: []inputInfo{
29636                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29637                         },
29638                         outputs: []outputInfo{
29639                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29640                         },
29641                 },
29642         },
29643         {
29644                 name:   "BRH",
29645                 argLen: 1,
29646                 asm:    ppc64.ABRH,
29647                 reg: regInfo{
29648                         inputs: []inputInfo{
29649                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29650                         },
29651                         outputs: []outputInfo{
29652                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29653                         },
29654                 },
29655         },
29656         {
29657                 name:   "FNEG",
29658                 argLen: 1,
29659                 asm:    ppc64.AFNEG,
29660                 reg: regInfo{
29661                         inputs: []inputInfo{
29662                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29663                         },
29664                         outputs: []outputInfo{
29665                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29666                         },
29667                 },
29668         },
29669         {
29670                 name:   "FSQRT",
29671                 argLen: 1,
29672                 asm:    ppc64.AFSQRT,
29673                 reg: regInfo{
29674                         inputs: []inputInfo{
29675                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29676                         },
29677                         outputs: []outputInfo{
29678                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29679                         },
29680                 },
29681         },
29682         {
29683                 name:   "FSQRTS",
29684                 argLen: 1,
29685                 asm:    ppc64.AFSQRTS,
29686                 reg: regInfo{
29687                         inputs: []inputInfo{
29688                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29689                         },
29690                         outputs: []outputInfo{
29691                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29692                         },
29693                 },
29694         },
29695         {
29696                 name:   "FFLOOR",
29697                 argLen: 1,
29698                 asm:    ppc64.AFRIM,
29699                 reg: regInfo{
29700                         inputs: []inputInfo{
29701                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29702                         },
29703                         outputs: []outputInfo{
29704                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29705                         },
29706                 },
29707         },
29708         {
29709                 name:   "FCEIL",
29710                 argLen: 1,
29711                 asm:    ppc64.AFRIP,
29712                 reg: regInfo{
29713                         inputs: []inputInfo{
29714                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29715                         },
29716                         outputs: []outputInfo{
29717                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29718                         },
29719                 },
29720         },
29721         {
29722                 name:   "FTRUNC",
29723                 argLen: 1,
29724                 asm:    ppc64.AFRIZ,
29725                 reg: regInfo{
29726                         inputs: []inputInfo{
29727                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29728                         },
29729                         outputs: []outputInfo{
29730                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29731                         },
29732                 },
29733         },
29734         {
29735                 name:   "FROUND",
29736                 argLen: 1,
29737                 asm:    ppc64.AFRIN,
29738                 reg: regInfo{
29739                         inputs: []inputInfo{
29740                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29741                         },
29742                         outputs: []outputInfo{
29743                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29744                         },
29745                 },
29746         },
29747         {
29748                 name:   "FABS",
29749                 argLen: 1,
29750                 asm:    ppc64.AFABS,
29751                 reg: regInfo{
29752                         inputs: []inputInfo{
29753                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29754                         },
29755                         outputs: []outputInfo{
29756                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29757                         },
29758                 },
29759         },
29760         {
29761                 name:   "FNABS",
29762                 argLen: 1,
29763                 asm:    ppc64.AFNABS,
29764                 reg: regInfo{
29765                         inputs: []inputInfo{
29766                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29767                         },
29768                         outputs: []outputInfo{
29769                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29770                         },
29771                 },
29772         },
29773         {
29774                 name:   "FCPSGN",
29775                 argLen: 2,
29776                 asm:    ppc64.AFCPSGN,
29777                 reg: regInfo{
29778                         inputs: []inputInfo{
29779                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29780                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
29781                         },
29782                         outputs: []outputInfo{
29783                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29795                         },
29796                         outputs: []outputInfo{
29797                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29809                         },
29810                         outputs: []outputInfo{
29811                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29823                         },
29824                         outputs: []outputInfo{
29825                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29826                         },
29827                 },
29828         },
29829         {
29830                 name:   "MOVBreg",
29831                 argLen: 1,
29832                 asm:    ppc64.AMOVB,
29833                 reg: regInfo{
29834                         inputs: []inputInfo{
29835                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29836                         },
29837                         outputs: []outputInfo{
29838                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29839                         },
29840                 },
29841         },
29842         {
29843                 name:   "MOVBZreg",
29844                 argLen: 1,
29845                 asm:    ppc64.AMOVBZ,
29846                 reg: regInfo{
29847                         inputs: []inputInfo{
29848                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29849                         },
29850                         outputs: []outputInfo{
29851                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29852                         },
29853                 },
29854         },
29855         {
29856                 name:   "MOVHreg",
29857                 argLen: 1,
29858                 asm:    ppc64.AMOVH,
29859                 reg: regInfo{
29860                         inputs: []inputInfo{
29861                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29862                         },
29863                         outputs: []outputInfo{
29864                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29865                         },
29866                 },
29867         },
29868         {
29869                 name:   "MOVHZreg",
29870                 argLen: 1,
29871                 asm:    ppc64.AMOVHZ,
29872                 reg: regInfo{
29873                         inputs: []inputInfo{
29874                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29875                         },
29876                         outputs: []outputInfo{
29877                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29878                         },
29879                 },
29880         },
29881         {
29882                 name:   "MOVWreg",
29883                 argLen: 1,
29884                 asm:    ppc64.AMOVW,
29885                 reg: regInfo{
29886                         inputs: []inputInfo{
29887                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29888                         },
29889                         outputs: []outputInfo{
29890                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29891                         },
29892                 },
29893         },
29894         {
29895                 name:   "MOVWZreg",
29896                 argLen: 1,
29897                 asm:    ppc64.AMOVWZ,
29898                 reg: regInfo{
29899                         inputs: []inputInfo{
29900                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29901                         },
29902                         outputs: []outputInfo{
29903                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29917                         },
29918                         outputs: []outputInfo{
29919                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29933                         },
29934                         outputs: []outputInfo{
29935                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29949                         },
29950                         outputs: []outputInfo{
29951                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29965                         },
29966                         outputs: []outputInfo{
29967                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29981                         },
29982                         outputs: []outputInfo{
29983                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
29997                         },
29998                         outputs: []outputInfo{
29999                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30011                         },
30012                         outputs: []outputInfo{
30013                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30025                         },
30026                         outputs: []outputInfo{
30027                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30039                         },
30040                         outputs: []outputInfo{
30041                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30042                         },
30043                 },
30044         },
30045         {
30046                 name:   "MOVBZloadidx",
30047                 argLen: 3,
30048                 asm:    ppc64.AMOVBZ,
30049                 reg: regInfo{
30050                         inputs: []inputInfo{
30051                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30052                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30053                         },
30054                         outputs: []outputInfo{
30055                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30056                         },
30057                 },
30058         },
30059         {
30060                 name:   "MOVHloadidx",
30061                 argLen: 3,
30062                 asm:    ppc64.AMOVH,
30063                 reg: regInfo{
30064                         inputs: []inputInfo{
30065                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30066                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30067                         },
30068                         outputs: []outputInfo{
30069                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30070                         },
30071                 },
30072         },
30073         {
30074                 name:   "MOVHZloadidx",
30075                 argLen: 3,
30076                 asm:    ppc64.AMOVHZ,
30077                 reg: regInfo{
30078                         inputs: []inputInfo{
30079                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30080                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30081                         },
30082                         outputs: []outputInfo{
30083                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30084                         },
30085                 },
30086         },
30087         {
30088                 name:   "MOVWloadidx",
30089                 argLen: 3,
30090                 asm:    ppc64.AMOVW,
30091                 reg: regInfo{
30092                         inputs: []inputInfo{
30093                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30094                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30095                         },
30096                         outputs: []outputInfo{
30097                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30098                         },
30099                 },
30100         },
30101         {
30102                 name:   "MOVWZloadidx",
30103                 argLen: 3,
30104                 asm:    ppc64.AMOVWZ,
30105                 reg: regInfo{
30106                         inputs: []inputInfo{
30107                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30108                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30109                         },
30110                         outputs: []outputInfo{
30111                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30112                         },
30113                 },
30114         },
30115         {
30116                 name:   "MOVDloadidx",
30117                 argLen: 3,
30118                 asm:    ppc64.AMOVD,
30119                 reg: regInfo{
30120                         inputs: []inputInfo{
30121                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30122                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30123                         },
30124                         outputs: []outputInfo{
30125                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30126                         },
30127                 },
30128         },
30129         {
30130                 name:   "MOVHBRloadidx",
30131                 argLen: 3,
30132                 asm:    ppc64.AMOVHBR,
30133                 reg: regInfo{
30134                         inputs: []inputInfo{
30135                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30136                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30137                         },
30138                         outputs: []outputInfo{
30139                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30140                         },
30141                 },
30142         },
30143         {
30144                 name:   "MOVWBRloadidx",
30145                 argLen: 3,
30146                 asm:    ppc64.AMOVWBR,
30147                 reg: regInfo{
30148                         inputs: []inputInfo{
30149                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30150                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30151                         },
30152                         outputs: []outputInfo{
30153                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30154                         },
30155                 },
30156         },
30157         {
30158                 name:   "MOVDBRloadidx",
30159                 argLen: 3,
30160                 asm:    ppc64.AMOVDBR,
30161                 reg: regInfo{
30162                         inputs: []inputInfo{
30163                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30164                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30165                         },
30166                         outputs: []outputInfo{
30167                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30168                         },
30169                 },
30170         },
30171         {
30172                 name:   "FMOVDloadidx",
30173                 argLen: 3,
30174                 asm:    ppc64.AFMOVD,
30175                 reg: regInfo{
30176                         inputs: []inputInfo{
30177                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30178                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30179                         },
30180                         outputs: []outputInfo{
30181                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30182                         },
30183                 },
30184         },
30185         {
30186                 name:   "FMOVSloadidx",
30187                 argLen: 3,
30188                 asm:    ppc64.AFMOVS,
30189                 reg: regInfo{
30190                         inputs: []inputInfo{
30191                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30192                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30193                         },
30194                         outputs: []outputInfo{
30195                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30219                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30231                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30243                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30257                         },
30258                         outputs: []outputInfo{
30259                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30273                         },
30274                         outputs: []outputInfo{
30275                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30289                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30303                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30317                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30331                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30345                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30359                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30360                         },
30361                 },
30362         },
30363         {
30364                 name:   "MOVBstoreidx",
30365                 argLen: 4,
30366                 asm:    ppc64.AMOVB,
30367                 reg: regInfo{
30368                         inputs: []inputInfo{
30369                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30370                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30371                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30372                         },
30373                 },
30374         },
30375         {
30376                 name:   "MOVHstoreidx",
30377                 argLen: 4,
30378                 asm:    ppc64.AMOVH,
30379                 reg: regInfo{
30380                         inputs: []inputInfo{
30381                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30382                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30383                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30384                         },
30385                 },
30386         },
30387         {
30388                 name:   "MOVWstoreidx",
30389                 argLen: 4,
30390                 asm:    ppc64.AMOVW,
30391                 reg: regInfo{
30392                         inputs: []inputInfo{
30393                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30394                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30395                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30396                         },
30397                 },
30398         },
30399         {
30400                 name:   "MOVDstoreidx",
30401                 argLen: 4,
30402                 asm:    ppc64.AMOVD,
30403                 reg: regInfo{
30404                         inputs: []inputInfo{
30405                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30406                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30407                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30408                         },
30409                 },
30410         },
30411         {
30412                 name:   "FMOVDstoreidx",
30413                 argLen: 4,
30414                 asm:    ppc64.AFMOVD,
30415                 reg: regInfo{
30416                         inputs: []inputInfo{
30417                                 {0, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30418                                 {1, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30419                                 {2, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30420                         },
30421                 },
30422         },
30423         {
30424                 name:   "FMOVSstoreidx",
30425                 argLen: 4,
30426                 asm:    ppc64.AFMOVS,
30427                 reg: regInfo{
30428                         inputs: []inputInfo{
30429                                 {0, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30430                                 {1, 1073733630},          // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30431                                 {2, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30432                         },
30433                 },
30434         },
30435         {
30436                 name:   "MOVHBRstoreidx",
30437                 argLen: 4,
30438                 asm:    ppc64.AMOVHBR,
30439                 reg: regInfo{
30440                         inputs: []inputInfo{
30441                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30442                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30443                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30444                         },
30445                 },
30446         },
30447         {
30448                 name:   "MOVWBRstoreidx",
30449                 argLen: 4,
30450                 asm:    ppc64.AMOVWBR,
30451                 reg: regInfo{
30452                         inputs: []inputInfo{
30453                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30454                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30455                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30456                         },
30457                 },
30458         },
30459         {
30460                 name:   "MOVDBRstoreidx",
30461                 argLen: 4,
30462                 asm:    ppc64.AMOVDBR,
30463                 reg: regInfo{
30464                         inputs: []inputInfo{
30465                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30466                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30467                                 {2, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30533                         },
30534                         outputs: []outputInfo{
30535                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30572                         },
30573                 },
30574         },
30575         {
30576                 name:   "FCMPU",
30577                 argLen: 2,
30578                 asm:    ppc64.AFCMPU,
30579                 reg: regInfo{
30580                         inputs: []inputInfo{
30581                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30582                                 {1, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30583                         },
30584                 },
30585         },
30586         {
30587                 name:   "CMP",
30588                 argLen: 2,
30589                 asm:    ppc64.ACMP,
30590                 reg: regInfo{
30591                         inputs: []inputInfo{
30592                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30593                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30594                         },
30595                 },
30596         },
30597         {
30598                 name:   "CMPU",
30599                 argLen: 2,
30600                 asm:    ppc64.ACMPU,
30601                 reg: regInfo{
30602                         inputs: []inputInfo{
30603                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30604                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30605                         },
30606                 },
30607         },
30608         {
30609                 name:   "CMPW",
30610                 argLen: 2,
30611                 asm:    ppc64.ACMPW,
30612                 reg: regInfo{
30613                         inputs: []inputInfo{
30614                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30615                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30616                         },
30617                 },
30618         },
30619         {
30620                 name:   "CMPWU",
30621                 argLen: 2,
30622                 asm:    ppc64.ACMPWU,
30623                 reg: regInfo{
30624                         inputs: []inputInfo{
30625                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30626                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30682                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30683                         },
30684                         outputs: []outputInfo{
30685                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30697                         },
30698                         outputs: []outputInfo{
30699                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30722                         },
30723                 },
30724         },
30725         {
30726                 name:   "Equal",
30727                 argLen: 1,
30728                 reg: regInfo{
30729                         outputs: []outputInfo{
30730                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30731                         },
30732                 },
30733         },
30734         {
30735                 name:   "NotEqual",
30736                 argLen: 1,
30737                 reg: regInfo{
30738                         outputs: []outputInfo{
30739                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30740                         },
30741                 },
30742         },
30743         {
30744                 name:   "LessThan",
30745                 argLen: 1,
30746                 reg: regInfo{
30747                         outputs: []outputInfo{
30748                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30749                         },
30750                 },
30751         },
30752         {
30753                 name:   "FLessThan",
30754                 argLen: 1,
30755                 reg: regInfo{
30756                         outputs: []outputInfo{
30757                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30758                         },
30759                 },
30760         },
30761         {
30762                 name:   "LessEqual",
30763                 argLen: 1,
30764                 reg: regInfo{
30765                         outputs: []outputInfo{
30766                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30767                         },
30768                 },
30769         },
30770         {
30771                 name:   "FLessEqual",
30772                 argLen: 1,
30773                 reg: regInfo{
30774                         outputs: []outputInfo{
30775                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30776                         },
30777                 },
30778         },
30779         {
30780                 name:   "GreaterThan",
30781                 argLen: 1,
30782                 reg: regInfo{
30783                         outputs: []outputInfo{
30784                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30785                         },
30786                 },
30787         },
30788         {
30789                 name:   "FGreaterThan",
30790                 argLen: 1,
30791                 reg: regInfo{
30792                         outputs: []outputInfo{
30793                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30794                         },
30795                 },
30796         },
30797         {
30798                 name:   "GreaterEqual",
30799                 argLen: 1,
30800                 reg: regInfo{
30801                         outputs: []outputInfo{
30802                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30803                         },
30804                 },
30805         },
30806         {
30807                 name:   "FGreaterEqual",
30808                 argLen: 1,
30809                 reg: regInfo{
30810                         outputs: []outputInfo{
30811                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30812                         },
30813                 },
30814         },
30815         {
30816                 name:      "LoweredGetClosurePtr",
30817                 argLen:    0,
30818                 zeroWidth: true,
30819                 reg: regInfo{
30820                         outputs: []outputInfo{
30821                                 {0, 2048}, // R11
30822                         },
30823                 },
30824         },
30825         {
30826                 name:              "LoweredGetCallerSP",
30827                 argLen:            1,
30828                 rematerializeable: true,
30829                 reg: regInfo{
30830                         outputs: []outputInfo{
30831                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30832                         },
30833                 },
30834         },
30835         {
30836                 name:              "LoweredGetCallerPC",
30837                 argLen:            0,
30838                 rematerializeable: true,
30839                 reg: regInfo{
30840                         outputs: []outputInfo{
30841                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
30854                         },
30855                         clobbers: 2147483648, // R31
30856                 },
30857         },
30858         {
30859                 name:         "LoweredRound32F",
30860                 argLen:       1,
30861                 resultInArg0: true,
30862                 zeroWidth:    true,
30863                 reg: regInfo{
30864                         inputs: []inputInfo{
30865                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30866                         },
30867                         outputs: []outputInfo{
30868                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
30880                         },
30881                         outputs: []outputInfo{
30882                                 {0, 9223372032559808512}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30
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, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 g F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 XER
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, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 g F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 XER
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}, // R12
30916                                 {1, 2048}, // R11
30917                         },
30918                         clobbers: 18446744071562059768, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 g F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 XER
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}, // R12
30930                         },
30931                         clobbers: 18446744071562059768, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 g F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 XER
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}, // R20
30944                         },
30945                         clobbers: 1048576, // R20
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R20
30982                         },
30983                         clobbers: 1048576, // R20
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}, // R20
30997                                 {1, 2097152}, // R21
30998                         },
30999                         clobbers: 3145728, // R20 R21
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31012                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R20
31027                                 {1, 2097152}, // R21
31028                         },
31029                         clobbers: 3145728, // R20 R21
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31042                                 {1, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31055                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31068                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31081                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31094                         },
31095                         outputs: []outputInfo{
31096                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31109                         },
31110                         outputs: []outputInfo{
31111                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31124                         },
31125                         outputs: []outputInfo{
31126                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31139                         },
31140                         outputs: []outputInfo{
31141                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31155                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31156                         },
31157                         outputs: []outputInfo{
31158                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31172                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31173                         },
31174                         outputs: []outputInfo{
31175                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31189                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31190                         },
31191                         outputs: []outputInfo{
31192                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31206                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31207                         },
31208                         outputs: []outputInfo{
31209                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31224                                 {2, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31225                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31226                         },
31227                         outputs: []outputInfo{
31228                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31243                                 {2, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31244                                 {0, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31245                         },
31246                         outputs: []outputInfo{
31247                                 {0, 1073733624}, // R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31260                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31273                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31286                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
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}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31299                                 {1, 1073733630}, // SP SB R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29
31300                         },
31301                 },
31302         },
31303         {
31304                 name:         "LoweredWB",
31305                 auxType:      auxInt64,
31306                 argLen:       1,
31307                 clobberFlags: true,
31308                 reg: regInfo{
31309                         clobbers: 18446744072632408064, // R11 R12 R18 R19 R22 R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 XER
31310                         outputs: []outputInfo{
31311                                 {0, 536870912}, // R29
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}, // R5
31330                                 {1, 64}, // R6
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}, // R4
31342                                 {1, 32}, // R5
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},  // R3
31354                                 {1, 16}, // R4
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31387                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31388                         },
31389                         outputs: []outputInfo{
31390                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31402                         },
31403                         outputs: []outputInfo{
31404                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31416                         },
31417                         outputs: []outputInfo{
31418                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31419                         },
31420                 },
31421         },
31422         {
31423                 name:   "NEG",
31424                 argLen: 1,
31425                 asm:    riscv.ANEG,
31426                 reg: regInfo{
31427                         inputs: []inputInfo{
31428                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31429                         },
31430                         outputs: []outputInfo{
31431                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31432                         },
31433                 },
31434         },
31435         {
31436                 name:   "NEGW",
31437                 argLen: 1,
31438                 asm:    riscv.ANEGW,
31439                 reg: regInfo{
31440                         inputs: []inputInfo{
31441                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31442                         },
31443                         outputs: []outputInfo{
31444                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31445                         },
31446                 },
31447         },
31448         {
31449                 name:   "SUB",
31450                 argLen: 2,
31451                 asm:    riscv.ASUB,
31452                 reg: regInfo{
31453                         inputs: []inputInfo{
31454                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31455                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31456                         },
31457                         outputs: []outputInfo{
31458                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31459                         },
31460                 },
31461         },
31462         {
31463                 name:   "SUBW",
31464                 argLen: 2,
31465                 asm:    riscv.ASUBW,
31466                 reg: regInfo{
31467                         inputs: []inputInfo{
31468                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31469                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31470                         },
31471                         outputs: []outputInfo{
31472                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31484                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31485                         },
31486                         outputs: []outputInfo{
31487                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31499                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31500                         },
31501                         outputs: []outputInfo{
31502                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31514                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31515                         },
31516                         outputs: []outputInfo{
31517                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31529                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31530                         },
31531                         outputs: []outputInfo{
31532                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31533                         },
31534                 },
31535         },
31536         {
31537                 name:            "LoweredMuluhilo",
31538                 argLen:          2,
31539                 resultNotInArgs: true,
31540                 reg: regInfo{
31541                         inputs: []inputInfo{
31542                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31543                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31544                         },
31545                         outputs: []outputInfo{
31546                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31547                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31548                         },
31549                 },
31550         },
31551         {
31552                 name:            "LoweredMuluover",
31553                 argLen:          2,
31554                 resultNotInArgs: true,
31555                 reg: regInfo{
31556                         inputs: []inputInfo{
31557                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31558                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31559                         },
31560                         outputs: []outputInfo{
31561                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31562                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31563                         },
31564                 },
31565         },
31566         {
31567                 name:   "DIV",
31568                 argLen: 2,
31569                 asm:    riscv.ADIV,
31570                 reg: regInfo{
31571                         inputs: []inputInfo{
31572                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31573                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31574                         },
31575                         outputs: []outputInfo{
31576                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31577                         },
31578                 },
31579         },
31580         {
31581                 name:   "DIVU",
31582                 argLen: 2,
31583                 asm:    riscv.ADIVU,
31584                 reg: regInfo{
31585                         inputs: []inputInfo{
31586                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31587                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31588                         },
31589                         outputs: []outputInfo{
31590                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31591                         },
31592                 },
31593         },
31594         {
31595                 name:   "DIVW",
31596                 argLen: 2,
31597                 asm:    riscv.ADIVW,
31598                 reg: regInfo{
31599                         inputs: []inputInfo{
31600                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31601                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31602                         },
31603                         outputs: []outputInfo{
31604                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31605                         },
31606                 },
31607         },
31608         {
31609                 name:   "DIVUW",
31610                 argLen: 2,
31611                 asm:    riscv.ADIVUW,
31612                 reg: regInfo{
31613                         inputs: []inputInfo{
31614                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31615                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31616                         },
31617                         outputs: []outputInfo{
31618                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31619                         },
31620                 },
31621         },
31622         {
31623                 name:   "REM",
31624                 argLen: 2,
31625                 asm:    riscv.AREM,
31626                 reg: regInfo{
31627                         inputs: []inputInfo{
31628                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31629                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31630                         },
31631                         outputs: []outputInfo{
31632                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31633                         },
31634                 },
31635         },
31636         {
31637                 name:   "REMU",
31638                 argLen: 2,
31639                 asm:    riscv.AREMU,
31640                 reg: regInfo{
31641                         inputs: []inputInfo{
31642                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31643                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31644                         },
31645                         outputs: []outputInfo{
31646                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31647                         },
31648                 },
31649         },
31650         {
31651                 name:   "REMW",
31652                 argLen: 2,
31653                 asm:    riscv.AREMW,
31654                 reg: regInfo{
31655                         inputs: []inputInfo{
31656                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31657                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31658                         },
31659                         outputs: []outputInfo{
31660                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31661                         },
31662                 },
31663         },
31664         {
31665                 name:   "REMUW",
31666                 argLen: 2,
31667                 asm:    riscv.AREMUW,
31668                 reg: regInfo{
31669                         inputs: []inputInfo{
31670                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31671                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31672                         },
31673                         outputs: []outputInfo{
31674                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31688                         },
31689                         outputs: []outputInfo{
31690                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31716                         },
31717                         outputs: []outputInfo{
31718                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31732                         },
31733                         outputs: []outputInfo{
31734                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31748                         },
31749                         outputs: []outputInfo{
31750                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31764                         },
31765                         outputs: []outputInfo{
31766                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31780                         },
31781                         outputs: []outputInfo{
31782                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31796                         },
31797                         outputs: []outputInfo{
31798                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31812                         },
31813                         outputs: []outputInfo{
31814                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31828                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31842                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31856                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31870                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
31923                         },
31924                 },
31925         },
31926         {
31927                 name:   "MOVBreg",
31928                 argLen: 1,
31929                 asm:    riscv.AMOVB,
31930                 reg: regInfo{
31931                         inputs: []inputInfo{
31932                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31933                         },
31934                         outputs: []outputInfo{
31935                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31936                         },
31937                 },
31938         },
31939         {
31940                 name:   "MOVHreg",
31941                 argLen: 1,
31942                 asm:    riscv.AMOVH,
31943                 reg: regInfo{
31944                         inputs: []inputInfo{
31945                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31946                         },
31947                         outputs: []outputInfo{
31948                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31949                         },
31950                 },
31951         },
31952         {
31953                 name:   "MOVWreg",
31954                 argLen: 1,
31955                 asm:    riscv.AMOVW,
31956                 reg: regInfo{
31957                         inputs: []inputInfo{
31958                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31959                         },
31960                         outputs: []outputInfo{
31961                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31962                         },
31963                 },
31964         },
31965         {
31966                 name:   "MOVDreg",
31967                 argLen: 1,
31968                 asm:    riscv.AMOV,
31969                 reg: regInfo{
31970                         inputs: []inputInfo{
31971                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31972                         },
31973                         outputs: []outputInfo{
31974                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31975                         },
31976                 },
31977         },
31978         {
31979                 name:   "MOVBUreg",
31980                 argLen: 1,
31981                 asm:    riscv.AMOVBU,
31982                 reg: regInfo{
31983                         inputs: []inputInfo{
31984                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31985                         },
31986                         outputs: []outputInfo{
31987                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31988                         },
31989                 },
31990         },
31991         {
31992                 name:   "MOVHUreg",
31993                 argLen: 1,
31994                 asm:    riscv.AMOVHU,
31995                 reg: regInfo{
31996                         inputs: []inputInfo{
31997                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
31998                         },
31999                         outputs: []outputInfo{
32000                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32001                         },
32002                 },
32003         },
32004         {
32005                 name:   "MOVWUreg",
32006                 argLen: 1,
32007                 asm:    riscv.AMOVWU,
32008                 reg: regInfo{
32009                         inputs: []inputInfo{
32010                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32011                         },
32012                         outputs: []outputInfo{
32013                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32014                         },
32015                 },
32016         },
32017         {
32018                 name:         "MOVDnop",
32019                 argLen:       1,
32020                 resultInArg0: true,
32021                 reg: regInfo{
32022                         inputs: []inputInfo{
32023                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32024                         },
32025                         outputs: []outputInfo{
32026                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32027                         },
32028                 },
32029         },
32030         {
32031                 name:   "SLL",
32032                 argLen: 2,
32033                 asm:    riscv.ASLL,
32034                 reg: regInfo{
32035                         inputs: []inputInfo{
32036                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32037                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32038                         },
32039                         outputs: []outputInfo{
32040                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32041                         },
32042                 },
32043         },
32044         {
32045                 name:   "SRA",
32046                 argLen: 2,
32047                 asm:    riscv.ASRA,
32048                 reg: regInfo{
32049                         inputs: []inputInfo{
32050                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32051                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32052                         },
32053                         outputs: []outputInfo{
32054                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32055                         },
32056                 },
32057         },
32058         {
32059                 name:   "SRAW",
32060                 argLen: 2,
32061                 asm:    riscv.ASRAW,
32062                 reg: regInfo{
32063                         inputs: []inputInfo{
32064                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32065                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32066                         },
32067                         outputs: []outputInfo{
32068                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32069                         },
32070                 },
32071         },
32072         {
32073                 name:   "SRL",
32074                 argLen: 2,
32075                 asm:    riscv.ASRL,
32076                 reg: regInfo{
32077                         inputs: []inputInfo{
32078                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32079                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32080                         },
32081                         outputs: []outputInfo{
32082                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32083                         },
32084                 },
32085         },
32086         {
32087                 name:   "SRLW",
32088                 argLen: 2,
32089                 asm:    riscv.ASRLW,
32090                 reg: regInfo{
32091                         inputs: []inputInfo{
32092                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32093                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32094                         },
32095                         outputs: []outputInfo{
32096                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32108                         },
32109                         outputs: []outputInfo{
32110                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32122                         },
32123                         outputs: []outputInfo{
32124                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32136                         },
32137                         outputs: []outputInfo{
32138                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32150                         },
32151                         outputs: []outputInfo{
32152                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32164                         },
32165                         outputs: []outputInfo{
32166                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32178                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32179                         },
32180                         outputs: []outputInfo{
32181                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32193                         },
32194                         outputs: []outputInfo{
32195                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32207                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32208                         },
32209                         outputs: []outputInfo{
32210                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32222                         },
32223                         outputs: []outputInfo{
32224                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32236                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32237                         },
32238                         outputs: []outputInfo{
32239                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32251                         },
32252                         outputs: []outputInfo{
32253                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32254                         },
32255                 },
32256         },
32257         {
32258                 name:   "NOT",
32259                 argLen: 1,
32260                 asm:    riscv.ANOT,
32261                 reg: regInfo{
32262                         inputs: []inputInfo{
32263                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32264                         },
32265                         outputs: []outputInfo{
32266                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32267                         },
32268                 },
32269         },
32270         {
32271                 name:   "SEQZ",
32272                 argLen: 1,
32273                 asm:    riscv.ASEQZ,
32274                 reg: regInfo{
32275                         inputs: []inputInfo{
32276                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32277                         },
32278                         outputs: []outputInfo{
32279                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32280                         },
32281                 },
32282         },
32283         {
32284                 name:   "SNEZ",
32285                 argLen: 1,
32286                 asm:    riscv.ASNEZ,
32287                 reg: regInfo{
32288                         inputs: []inputInfo{
32289                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32290                         },
32291                         outputs: []outputInfo{
32292                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32293                         },
32294                 },
32295         },
32296         {
32297                 name:   "SLT",
32298                 argLen: 2,
32299                 asm:    riscv.ASLT,
32300                 reg: regInfo{
32301                         inputs: []inputInfo{
32302                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32303                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32304                         },
32305                         outputs: []outputInfo{
32306                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32318                         },
32319                         outputs: []outputInfo{
32320                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32321                         },
32322                 },
32323         },
32324         {
32325                 name:   "SLTU",
32326                 argLen: 2,
32327                 asm:    riscv.ASLTU,
32328                 reg: regInfo{
32329                         inputs: []inputInfo{
32330                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32331                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32332                         },
32333                         outputs: []outputInfo{
32334                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32346                         },
32347                         outputs: []outputInfo{
32348                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32349                         },
32350                 },
32351         },
32352         {
32353                 name:         "LoweredRound32F",
32354                 argLen:       1,
32355                 resultInArg0: true,
32356                 reg: regInfo{
32357                         inputs: []inputInfo{
32358                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32359                         },
32360                         outputs: []outputInfo{
32361                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32362                         },
32363                 },
32364         },
32365         {
32366                 name:         "LoweredRound64F",
32367                 argLen:       1,
32368                 resultInArg0: true,
32369                 reg: regInfo{
32370                         inputs: []inputInfo{
32371                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32372                         },
32373                         outputs: []outputInfo{
32374                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32375                         },
32376                 },
32377         },
32378         {
32379                 name:    "CALLstatic",
32380                 auxType: auxCallOff,
32381                 argLen:  -1,
32382                 call:    true,
32383                 reg: regInfo{
32384                         clobbers: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32385                 },
32386         },
32387         {
32388                 name:     "CALLtail",
32389                 auxType:  auxCallOff,
32390                 argLen:   -1,
32391                 call:     true,
32392                 tailCall: true,
32393                 reg: regInfo{
32394                         clobbers: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32395                 },
32396         },
32397         {
32398                 name:    "CALLclosure",
32399                 auxType: auxCallOff,
32400                 argLen:  -1,
32401                 call:    true,
32402                 reg: regInfo{
32403                         inputs: []inputInfo{
32404                                 {1, 33554432},   // X26
32405                                 {0, 1006632946}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32406                         },
32407                         clobbers: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32408                 },
32409         },
32410         {
32411                 name:    "CALLinter",
32412                 auxType: auxCallOff,
32413                 argLen:  -1,
32414                 call:    true,
32415                 reg: regInfo{
32416                         inputs: []inputInfo{
32417                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32418                         },
32419                         clobbers: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32420                 },
32421         },
32422         {
32423                 name:           "DUFFZERO",
32424                 auxType:        auxInt64,
32425                 argLen:         2,
32426                 faultOnNilArg0: true,
32427                 reg: regInfo{
32428                         inputs: []inputInfo{
32429                                 {0, 16777216}, // X25
32430                         },
32431                         clobbers: 16777216, // X25
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}, // X25
32443                                 {1, 8388608},  // X24
32444                         },
32445                         clobbers: 25165824, // X24 X25
32446                 },
32447         },
32448         {
32449                 name:           "LoweredZero",
32450                 auxType:        auxInt64,
32451                 argLen:         3,
32452                 faultOnNilArg0: true,
32453                 reg: regInfo{
32454                         inputs: []inputInfo{
32455                                 {0, 16},         // X5
32456                                 {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32457                         },
32458                         clobbers: 16, // X5
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},         // X5
32470                                 {1, 32},         // X6
32471                                 {2, 1006632880}, // X5 X6 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32472                         },
32473                         clobbers: 112, // X5 X6 X7
32474                 },
32475         },
32476         {
32477                 name:           "LoweredAtomicLoad8",
32478                 argLen:         2,
32479                 faultOnNilArg0: true,
32480                 reg: regInfo{
32481                         inputs: []inputInfo{
32482                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
32483                         },
32484                         outputs: []outputInfo{
32485                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32486                         },
32487                 },
32488         },
32489         {
32490                 name:           "LoweredAtomicLoad32",
32491                 argLen:         2,
32492                 faultOnNilArg0: true,
32493                 reg: regInfo{
32494                         inputs: []inputInfo{
32495                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
32496                         },
32497                         outputs: []outputInfo{
32498                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32499                         },
32500                 },
32501         },
32502         {
32503                 name:           "LoweredAtomicLoad64",
32504                 argLen:         2,
32505                 faultOnNilArg0: true,
32506                 reg: regInfo{
32507                         inputs: []inputInfo{
32508                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
32509                         },
32510                         outputs: []outputInfo{
32511                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32523                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32535                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32547                                 {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32560                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
32561                         },
32562                         outputs: []outputInfo{
32563                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32576                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
32577                         },
32578                         outputs: []outputInfo{
32579                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32593                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
32594                         },
32595                         outputs: []outputInfo{
32596                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32610                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
32611                         },
32612                         outputs: []outputInfo{
32613                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32627                                 {2, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32628                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
32629                         },
32630                         outputs: []outputInfo{
32631                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32645                                 {2, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32646                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
32647                         },
32648                         outputs: []outputInfo{
32649                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32662                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
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},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
32675                                 {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32687                         },
32688                 },
32689         },
32690         {
32691                 name:   "LoweredGetClosurePtr",
32692                 argLen: 0,
32693                 reg: regInfo{
32694                         outputs: []outputInfo{
32695                                 {0, 33554432}, // X26
32696                         },
32697                 },
32698         },
32699         {
32700                 name:              "LoweredGetCallerSP",
32701                 argLen:            1,
32702                 rematerializeable: true,
32703                 reg: regInfo{
32704                         outputs: []outputInfo{
32705                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32706                         },
32707                 },
32708         },
32709         {
32710                 name:              "LoweredGetCallerPC",
32711                 argLen:            0,
32712                 rematerializeable: true,
32713                 reg: regInfo{
32714                         outputs: []outputInfo{
32715                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32716                         },
32717                 },
32718         },
32719         {
32720                 name:         "LoweredWB",
32721                 auxType:      auxInt64,
32722                 argLen:       1,
32723                 clobberFlags: true,
32724                 reg: regInfo{
32725                         clobbers: 9223372034707292160, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32726                         outputs: []outputInfo{
32727                                 {0, 8388608}, // X24
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},        // X7
32746                                 {1, 134217728}, // X28
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}, // X6
32758                                 {1, 64}, // X7
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}, // X5
32770                                 {1, 32}, // X6
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32782                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32783                         },
32784                         outputs: []outputInfo{
32785                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32786                         },
32787                 },
32788         },
32789         {
32790                 name:   "FSUBS",
32791                 argLen: 2,
32792                 asm:    riscv.AFSUBS,
32793                 reg: regInfo{
32794                         inputs: []inputInfo{
32795                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32796                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32797                         },
32798                         outputs: []outputInfo{
32799                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32811                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32812                         },
32813                         outputs: []outputInfo{
32814                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32815                         },
32816                 },
32817         },
32818         {
32819                 name:   "FDIVS",
32820                 argLen: 2,
32821                 asm:    riscv.AFDIVS,
32822                 reg: regInfo{
32823                         inputs: []inputInfo{
32824                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32825                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32826                         },
32827                         outputs: []outputInfo{
32828                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32840                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32841                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32842                         },
32843                         outputs: []outputInfo{
32844                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32856                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32857                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32858                         },
32859                         outputs: []outputInfo{
32860                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32872                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32873                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32874                         },
32875                         outputs: []outputInfo{
32876                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32888                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32889                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32890                         },
32891                         outputs: []outputInfo{
32892                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32893                         },
32894                 },
32895         },
32896         {
32897                 name:   "FSQRTS",
32898                 argLen: 1,
32899                 asm:    riscv.AFSQRTS,
32900                 reg: regInfo{
32901                         inputs: []inputInfo{
32902                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32903                         },
32904                         outputs: []outputInfo{
32905                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32906                         },
32907                 },
32908         },
32909         {
32910                 name:   "FNEGS",
32911                 argLen: 1,
32912                 asm:    riscv.AFNEGS,
32913                 reg: regInfo{
32914                         inputs: []inputInfo{
32915                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32916                         },
32917                         outputs: []outputInfo{
32918                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32919                         },
32920                 },
32921         },
32922         {
32923                 name:   "FMVSX",
32924                 argLen: 1,
32925                 asm:    riscv.AFMVSX,
32926                 reg: regInfo{
32927                         inputs: []inputInfo{
32928                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32929                         },
32930                         outputs: []outputInfo{
32931                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32932                         },
32933                 },
32934         },
32935         {
32936                 name:   "FCVTSW",
32937                 argLen: 1,
32938                 asm:    riscv.AFCVTSW,
32939                 reg: regInfo{
32940                         inputs: []inputInfo{
32941                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32942                         },
32943                         outputs: []outputInfo{
32944                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32945                         },
32946                 },
32947         },
32948         {
32949                 name:   "FCVTSL",
32950                 argLen: 1,
32951                 asm:    riscv.AFCVTSL,
32952                 reg: regInfo{
32953                         inputs: []inputInfo{
32954                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32955                         },
32956                         outputs: []outputInfo{
32957                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32958                         },
32959                 },
32960         },
32961         {
32962                 name:   "FCVTWS",
32963                 argLen: 1,
32964                 asm:    riscv.AFCVTWS,
32965                 reg: regInfo{
32966                         inputs: []inputInfo{
32967                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32968                         },
32969                         outputs: []outputInfo{
32970                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
32971                         },
32972                 },
32973         },
32974         {
32975                 name:   "FCVTLS",
32976                 argLen: 1,
32977                 asm:    riscv.AFCVTLS,
32978                 reg: regInfo{
32979                         inputs: []inputInfo{
32980                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
32981                         },
32982                         outputs: []outputInfo{
32983                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
32997                         },
32998                         outputs: []outputInfo{
32999                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
33013                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33025                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33026                         },
33027                         outputs: []outputInfo{
33028                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33040                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33041                         },
33042                         outputs: []outputInfo{
33043                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33044                         },
33045                 },
33046         },
33047         {
33048                 name:   "FLTS",
33049                 argLen: 2,
33050                 asm:    riscv.AFLTS,
33051                 reg: regInfo{
33052                         inputs: []inputInfo{
33053                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33054                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33055                         },
33056                         outputs: []outputInfo{
33057                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33058                         },
33059                 },
33060         },
33061         {
33062                 name:   "FLES",
33063                 argLen: 2,
33064                 asm:    riscv.AFLES,
33065                 reg: regInfo{
33066                         inputs: []inputInfo{
33067                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33068                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33069                         },
33070                         outputs: []outputInfo{
33071                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33083                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33084                         },
33085                         outputs: []outputInfo{
33086                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33087                         },
33088                 },
33089         },
33090         {
33091                 name:   "FSUBD",
33092                 argLen: 2,
33093                 asm:    riscv.AFSUBD,
33094                 reg: regInfo{
33095                         inputs: []inputInfo{
33096                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33097                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33098                         },
33099                         outputs: []outputInfo{
33100                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33112                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33113                         },
33114                         outputs: []outputInfo{
33115                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33116                         },
33117                 },
33118         },
33119         {
33120                 name:   "FDIVD",
33121                 argLen: 2,
33122                 asm:    riscv.AFDIVD,
33123                 reg: regInfo{
33124                         inputs: []inputInfo{
33125                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33126                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33127                         },
33128                         outputs: []outputInfo{
33129                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33141                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33142                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33143                         },
33144                         outputs: []outputInfo{
33145                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33157                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33158                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33159                         },
33160                         outputs: []outputInfo{
33161                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33173                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33174                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33175                         },
33176                         outputs: []outputInfo{
33177                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33189                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33190                                 {2, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33191                         },
33192                         outputs: []outputInfo{
33193                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33194                         },
33195                 },
33196         },
33197         {
33198                 name:   "FSQRTD",
33199                 argLen: 1,
33200                 asm:    riscv.AFSQRTD,
33201                 reg: regInfo{
33202                         inputs: []inputInfo{
33203                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33204                         },
33205                         outputs: []outputInfo{
33206                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33207                         },
33208                 },
33209         },
33210         {
33211                 name:   "FNEGD",
33212                 argLen: 1,
33213                 asm:    riscv.AFNEGD,
33214                 reg: regInfo{
33215                         inputs: []inputInfo{
33216                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33217                         },
33218                         outputs: []outputInfo{
33219                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33220                         },
33221                 },
33222         },
33223         {
33224                 name:   "FABSD",
33225                 argLen: 1,
33226                 asm:    riscv.AFABSD,
33227                 reg: regInfo{
33228                         inputs: []inputInfo{
33229                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33230                         },
33231                         outputs: []outputInfo{
33232                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33233                         },
33234                 },
33235         },
33236         {
33237                 name:   "FSGNJD",
33238                 argLen: 2,
33239                 asm:    riscv.AFSGNJD,
33240                 reg: regInfo{
33241                         inputs: []inputInfo{
33242                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33243                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33244                         },
33245                         outputs: []outputInfo{
33246                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33247                         },
33248                 },
33249         },
33250         {
33251                 name:   "FMVDX",
33252                 argLen: 1,
33253                 asm:    riscv.AFMVDX,
33254                 reg: regInfo{
33255                         inputs: []inputInfo{
33256                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33257                         },
33258                         outputs: []outputInfo{
33259                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33260                         },
33261                 },
33262         },
33263         {
33264                 name:   "FCVTDW",
33265                 argLen: 1,
33266                 asm:    riscv.AFCVTDW,
33267                 reg: regInfo{
33268                         inputs: []inputInfo{
33269                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33270                         },
33271                         outputs: []outputInfo{
33272                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33273                         },
33274                 },
33275         },
33276         {
33277                 name:   "FCVTDL",
33278                 argLen: 1,
33279                 asm:    riscv.AFCVTDL,
33280                 reg: regInfo{
33281                         inputs: []inputInfo{
33282                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33283                         },
33284                         outputs: []outputInfo{
33285                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33286                         },
33287                 },
33288         },
33289         {
33290                 name:   "FCVTWD",
33291                 argLen: 1,
33292                 asm:    riscv.AFCVTWD,
33293                 reg: regInfo{
33294                         inputs: []inputInfo{
33295                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33296                         },
33297                         outputs: []outputInfo{
33298                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33299                         },
33300                 },
33301         },
33302         {
33303                 name:   "FCVTLD",
33304                 argLen: 1,
33305                 asm:    riscv.AFCVTLD,
33306                 reg: regInfo{
33307                         inputs: []inputInfo{
33308                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33309                         },
33310                         outputs: []outputInfo{
33311                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33312                         },
33313                 },
33314         },
33315         {
33316                 name:   "FCVTDS",
33317                 argLen: 1,
33318                 asm:    riscv.AFCVTDS,
33319                 reg: regInfo{
33320                         inputs: []inputInfo{
33321                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33322                         },
33323                         outputs: []outputInfo{
33324                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33325                         },
33326                 },
33327         },
33328         {
33329                 name:   "FCVTSD",
33330                 argLen: 1,
33331                 asm:    riscv.AFCVTSD,
33332                 reg: regInfo{
33333                         inputs: []inputInfo{
33334                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33335                         },
33336                         outputs: []outputInfo{
33337                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
33351                         },
33352                         outputs: []outputInfo{
33353                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
33367                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33379                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33380                         },
33381                         outputs: []outputInfo{
33382                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33394                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33395                         },
33396                         outputs: []outputInfo{
33397                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33398                         },
33399                 },
33400         },
33401         {
33402                 name:   "FLTD",
33403                 argLen: 2,
33404                 asm:    riscv.AFLTD,
33405                 reg: regInfo{
33406                         inputs: []inputInfo{
33407                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33408                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33409                         },
33410                         outputs: []outputInfo{
33411                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
33412                         },
33413                 },
33414         },
33415         {
33416                 name:   "FLED",
33417                 argLen: 2,
33418                 asm:    riscv.AFLED,
33419                 reg: regInfo{
33420                         inputs: []inputInfo{
33421                                 {0, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33422                                 {1, 9223372034707292160}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
33423                         },
33424                         outputs: []outputInfo{
33425                                 {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33439                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33440                         },
33441                         outputs: []outputInfo{
33442                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33455                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33456                         },
33457                         outputs: []outputInfo{
33458                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33470                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33471                         },
33472                         outputs: []outputInfo{
33473                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33485                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33486                         },
33487                         outputs: []outputInfo{
33488                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33501                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33502                         },
33503                         outputs: []outputInfo{
33504                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33517                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33518                         },
33519                         outputs: []outputInfo{
33520                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33532                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33533                         },
33534                         outputs: []outputInfo{
33535                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33547                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33548                         },
33549                         outputs: []outputInfo{
33550                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33562                         },
33563                         outputs: []outputInfo{
33564                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33576                         },
33577                         outputs: []outputInfo{
33578                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33590                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33591                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33592                         },
33593                         outputs: []outputInfo{
33594                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33606                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33607                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33608                         },
33609                         outputs: []outputInfo{
33610                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33622                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33623                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33624                         },
33625                         outputs: []outputInfo{
33626                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33638                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33639                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33640                         },
33641                         outputs: []outputInfo{
33642                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33643                         },
33644                 },
33645         },
33646         {
33647                 name:   "LPDFR",
33648                 argLen: 1,
33649                 asm:    s390x.ALPDFR,
33650                 reg: regInfo{
33651                         inputs: []inputInfo{
33652                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33653                         },
33654                         outputs: []outputInfo{
33655                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33656                         },
33657                 },
33658         },
33659         {
33660                 name:   "LNDFR",
33661                 argLen: 1,
33662                 asm:    s390x.ALNDFR,
33663                 reg: regInfo{
33664                         inputs: []inputInfo{
33665                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33666                         },
33667                         outputs: []outputInfo{
33668                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33669                         },
33670                 },
33671         },
33672         {
33673                 name:   "CPSDR",
33674                 argLen: 2,
33675                 asm:    s390x.ACPSDR,
33676                 reg: regInfo{
33677                         inputs: []inputInfo{
33678                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33679                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33680                         },
33681                         outputs: []outputInfo{
33682                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33694                         },
33695                         outputs: []outputInfo{
33696                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
33710                         },
33711                         outputs: []outputInfo{
33712                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
33726                         },
33727                         outputs: []outputInfo{
33728                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33765                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33766                         },
33767                         outputs: []outputInfo{
33768                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33781                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33782                         },
33783                         outputs: []outputInfo{
33784                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
33798                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
33812                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33825                                 {1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33826                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33839                                 {1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33840                                 {2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33853                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33854                         },
33855                         outputs: []outputInfo{
33856                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33869                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33870                         },
33871                         outputs: []outputInfo{
33872                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33885                         },
33886                         outputs: []outputInfo{
33887                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33900                         },
33901                         outputs: []outputInfo{
33902                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33918                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33919                         },
33920                         outputs: []outputInfo{
33921                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33937                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
33938                         },
33939                         outputs: []outputInfo{
33940                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33952                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33953                         },
33954                         outputs: []outputInfo{
33955                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33967                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33968                         },
33969                         outputs: []outputInfo{
33970                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
33984                         },
33985                         outputs: []outputInfo{
33986                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34000                         },
34001                         outputs: []outputInfo{
34002                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34018                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34019                         },
34020                         outputs: []outputInfo{
34021                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34037                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34038                         },
34039                         outputs: []outputInfo{
34040                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34054                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34055                         },
34056                         outputs: []outputInfo{
34057                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34071                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34072                         },
34073                         outputs: []outputInfo{
34074                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34088                         },
34089                         outputs: []outputInfo{
34090                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34104                         },
34105                         outputs: []outputInfo{
34106                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34122                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34123                         },
34124                         outputs: []outputInfo{
34125                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34141                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34142                         },
34143                         outputs: []outputInfo{
34144                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34158                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34159                         },
34160                         clobbers: 2048, // R11
34161                         outputs: []outputInfo{
34162                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34176                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34177                         },
34178                         clobbers: 2048, // R11
34179                         outputs: []outputInfo{
34180                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34193                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34194                         },
34195                         clobbers: 2048, // R11
34196                         outputs: []outputInfo{
34197                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34210                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34211                         },
34212                         clobbers: 2048, // R11
34213                         outputs: []outputInfo{
34214                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34227                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34228                         },
34229                         clobbers: 2048, // R11
34230                         outputs: []outputInfo{
34231                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34244                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34245                         },
34246                         clobbers: 2048, // R11
34247                         outputs: []outputInfo{
34248                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34261                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34262                         },
34263                         clobbers: 2048, // R11
34264                         outputs: []outputInfo{
34265                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34278                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34279                         },
34280                         clobbers: 2048, // R11
34281                         outputs: []outputInfo{
34282                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34295                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34296                         },
34297                         clobbers: 2048, // R11
34298                         outputs: []outputInfo{
34299                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34312                                 {1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34313                         },
34314                         clobbers: 2048, // R11
34315                         outputs: []outputInfo{
34316                                 {0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34329                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34330                         },
34331                         outputs: []outputInfo{
34332                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34345                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34346                         },
34347                         outputs: []outputInfo{
34348                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34362                         },
34363                         outputs: []outputInfo{
34364                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34378                         },
34379                         outputs: []outputInfo{
34380                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34396                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34397                         },
34398                         outputs: []outputInfo{
34399                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34415                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34416                         },
34417                         outputs: []outputInfo{
34418                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34431                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34432                         },
34433                         outputs: []outputInfo{
34434                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34447                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34448                         },
34449                         outputs: []outputInfo{
34450                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34464                         },
34465                         outputs: []outputInfo{
34466                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34480                         },
34481                         outputs: []outputInfo{
34482                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34498                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34499                         },
34500                         outputs: []outputInfo{
34501                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34517                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34518                         },
34519                         outputs: []outputInfo{
34520                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34533                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34534                         },
34535                         outputs: []outputInfo{
34536                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34549                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34550                         },
34551                         outputs: []outputInfo{
34552                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34566                         },
34567                         outputs: []outputInfo{
34568                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34582                         },
34583                         outputs: []outputInfo{
34584                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34600                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34601                         },
34602                         outputs: []outputInfo{
34603                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34619                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34620                         },
34621                         outputs: []outputInfo{
34622                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34634                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34635                         },
34636                         outputs: []outputInfo{
34637                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34649                         },
34650                         outputs: []outputInfo{
34651                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34664                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34665                         },
34666                         outputs: []outputInfo{
34667                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34668                         },
34669                 },
34670         },
34671         {
34672                 name:   "SUBC",
34673                 argLen: 2,
34674                 asm:    s390x.ASUBC,
34675                 reg: regInfo{
34676                         inputs: []inputInfo{
34677                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34678                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34679                         },
34680                         outputs: []outputInfo{
34681                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34693                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34694                         },
34695                         outputs: []outputInfo{
34696                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34697                         },
34698                 },
34699         },
34700         {
34701                 name:   "CMP",
34702                 argLen: 2,
34703                 asm:    s390x.ACMP,
34704                 reg: regInfo{
34705                         inputs: []inputInfo{
34706                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34707                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34708                         },
34709                 },
34710         },
34711         {
34712                 name:   "CMPW",
34713                 argLen: 2,
34714                 asm:    s390x.ACMPW,
34715                 reg: regInfo{
34716                         inputs: []inputInfo{
34717                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34718                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34719                         },
34720                 },
34721         },
34722         {
34723                 name:   "CMPU",
34724                 argLen: 2,
34725                 asm:    s390x.ACMPU,
34726                 reg: regInfo{
34727                         inputs: []inputInfo{
34728                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34729                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34730                         },
34731                 },
34732         },
34733         {
34734                 name:   "CMPWU",
34735                 argLen: 2,
34736                 asm:    s390x.ACMPWU,
34737                 reg: regInfo{
34738                         inputs: []inputInfo{
34739                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34740                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34785                         },
34786                 },
34787         },
34788         {
34789                 name:   "FCMPS",
34790                 argLen: 2,
34791                 asm:    s390x.ACEBR,
34792                 reg: regInfo{
34793                         inputs: []inputInfo{
34794                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34795                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34796                         },
34797                 },
34798         },
34799         {
34800                 name:   "FCMP",
34801                 argLen: 2,
34802                 asm:    s390x.AFCMPU,
34803                 reg: regInfo{
34804                         inputs: []inputInfo{
34805                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34806                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34807                         },
34808                 },
34809         },
34810         {
34811                 name:   "LTDBR",
34812                 argLen: 1,
34813                 asm:    s390x.ALTDBR,
34814                 reg: regInfo{
34815                         inputs: []inputInfo{
34816                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34817                         },
34818                 },
34819         },
34820         {
34821                 name:   "LTEBR",
34822                 argLen: 1,
34823                 asm:    s390x.ALTEBR,
34824                 reg: regInfo{
34825                         inputs: []inputInfo{
34826                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34827                         },
34828                 },
34829         },
34830         {
34831                 name:   "SLD",
34832                 argLen: 2,
34833                 asm:    s390x.ASLD,
34834                 reg: regInfo{
34835                         inputs: []inputInfo{
34836                                 {1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34837                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34838                         },
34839                         outputs: []outputInfo{
34840                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34841                         },
34842                 },
34843         },
34844         {
34845                 name:   "SLW",
34846                 argLen: 2,
34847                 asm:    s390x.ASLW,
34848                 reg: regInfo{
34849                         inputs: []inputInfo{
34850                                 {1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34851                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34852                         },
34853                         outputs: []outputInfo{
34854                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34866                         },
34867                         outputs: []outputInfo{
34868                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34880                         },
34881                         outputs: []outputInfo{
34882                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34883                         },
34884                 },
34885         },
34886         {
34887                 name:   "SRD",
34888                 argLen: 2,
34889                 asm:    s390x.ASRD,
34890                 reg: regInfo{
34891                         inputs: []inputInfo{
34892                                 {1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34893                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34894                         },
34895                         outputs: []outputInfo{
34896                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34897                         },
34898                 },
34899         },
34900         {
34901                 name:   "SRW",
34902                 argLen: 2,
34903                 asm:    s390x.ASRW,
34904                 reg: regInfo{
34905                         inputs: []inputInfo{
34906                                 {1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34907                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34908                         },
34909                         outputs: []outputInfo{
34910                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34922                         },
34923                         outputs: []outputInfo{
34924                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34936                         },
34937                         outputs: []outputInfo{
34938                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34950                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34951                         },
34952                         outputs: []outputInfo{
34953                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34965                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34966                         },
34967                         outputs: []outputInfo{
34968                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34981                         },
34982                         outputs: []outputInfo{
34983                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34996                         },
34997                         outputs: []outputInfo{
34998                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34999                         },
35000                 },
35001         },
35002         {
35003                 name:   "RLLG",
35004                 argLen: 2,
35005                 asm:    s390x.ARLLG,
35006                 reg: regInfo{
35007                         inputs: []inputInfo{
35008                                 {1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35009                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35010                         },
35011                         outputs: []outputInfo{
35012                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35013                         },
35014                 },
35015         },
35016         {
35017                 name:   "RLL",
35018                 argLen: 2,
35019                 asm:    s390x.ARLL,
35020                 reg: regInfo{
35021                         inputs: []inputInfo{
35022                                 {1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35023                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35024                         },
35025                         outputs: []outputInfo{
35026                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35038                         },
35039                         outputs: []outputInfo{
35040                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35054                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35055                         },
35056                         outputs: []outputInfo{
35057                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35070                         },
35071                         outputs: []outputInfo{
35072                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35084                         },
35085                         outputs: []outputInfo{
35086                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35098                         },
35099                         outputs: []outputInfo{
35100                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35112                         },
35113                         outputs: []outputInfo{
35114                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35126                         },
35127                         outputs: []outputInfo{
35128                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35129                         },
35130                 },
35131         },
35132         {
35133                 name:   "FSQRT",
35134                 argLen: 1,
35135                 asm:    s390x.AFSQRT,
35136                 reg: regInfo{
35137                         inputs: []inputInfo{
35138                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35139                         },
35140                         outputs: []outputInfo{
35141                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35142                         },
35143                 },
35144         },
35145         {
35146                 name:   "FSQRTS",
35147                 argLen: 1,
35148                 asm:    s390x.AFSQRTS,
35149                 reg: regInfo{
35150                         inputs: []inputInfo{
35151                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35152                         },
35153                         outputs: []outputInfo{
35154                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35167                                 {1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35168                         },
35169                         outputs: []outputInfo{
35170                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35171                         },
35172                 },
35173         },
35174         {
35175                 name:   "MOVBreg",
35176                 argLen: 1,
35177                 asm:    s390x.AMOVB,
35178                 reg: regInfo{
35179                         inputs: []inputInfo{
35180                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35181                         },
35182                         outputs: []outputInfo{
35183                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35184                         },
35185                 },
35186         },
35187         {
35188                 name:   "MOVBZreg",
35189                 argLen: 1,
35190                 asm:    s390x.AMOVBZ,
35191                 reg: regInfo{
35192                         inputs: []inputInfo{
35193                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35194                         },
35195                         outputs: []outputInfo{
35196                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35197                         },
35198                 },
35199         },
35200         {
35201                 name:   "MOVHreg",
35202                 argLen: 1,
35203                 asm:    s390x.AMOVH,
35204                 reg: regInfo{
35205                         inputs: []inputInfo{
35206                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35207                         },
35208                         outputs: []outputInfo{
35209                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35210                         },
35211                 },
35212         },
35213         {
35214                 name:   "MOVHZreg",
35215                 argLen: 1,
35216                 asm:    s390x.AMOVHZ,
35217                 reg: regInfo{
35218                         inputs: []inputInfo{
35219                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35220                         },
35221                         outputs: []outputInfo{
35222                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35223                         },
35224                 },
35225         },
35226         {
35227                 name:   "MOVWreg",
35228                 argLen: 1,
35229                 asm:    s390x.AMOVW,
35230                 reg: regInfo{
35231                         inputs: []inputInfo{
35232                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35233                         },
35234                         outputs: []outputInfo{
35235                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35236                         },
35237                 },
35238         },
35239         {
35240                 name:   "MOVWZreg",
35241                 argLen: 1,
35242                 asm:    s390x.AMOVWZ,
35243                 reg: regInfo{
35244                         inputs: []inputInfo{
35245                                 {0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35246                         },
35247                         outputs: []outputInfo{
35248                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35261                         },
35262                 },
35263         },
35264         {
35265                 name:   "LDGR",
35266                 argLen: 1,
35267                 asm:    s390x.ALDGR,
35268                 reg: regInfo{
35269                         inputs: []inputInfo{
35270                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35271                         },
35272                         outputs: []outputInfo{
35273                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35274                         },
35275                 },
35276         },
35277         {
35278                 name:   "LGDR",
35279                 argLen: 1,
35280                 asm:    s390x.ALGDR,
35281                 reg: regInfo{
35282                         inputs: []inputInfo{
35283                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35284                         },
35285                         outputs: []outputInfo{
35286                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35298                         },
35299                         outputs: []outputInfo{
35300                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35312                         },
35313                         outputs: []outputInfo{
35314                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35326                         },
35327                         outputs: []outputInfo{
35328                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35340                         },
35341                         outputs: []outputInfo{
35342                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35354                         },
35355                         outputs: []outputInfo{
35356                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35368                         },
35369                         outputs: []outputInfo{
35370                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35382                         },
35383                         outputs: []outputInfo{
35384                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35396                         },
35397                         outputs: []outputInfo{
35398                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35410                         },
35411                         outputs: []outputInfo{
35412                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35424                         },
35425                         outputs: []outputInfo{
35426                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35438                         },
35439                         outputs: []outputInfo{
35440                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35452                         },
35453                         outputs: []outputInfo{
35454                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35466                         },
35467                         outputs: []outputInfo{
35468                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35480                         },
35481                         outputs: []outputInfo{
35482                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35494                         },
35495                         outputs: []outputInfo{
35496                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35508                         },
35509                         outputs: []outputInfo{
35510                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35511                         },
35512                 },
35513         },
35514         {
35515                 name:   "LEDBR",
35516                 argLen: 1,
35517                 asm:    s390x.ALEDBR,
35518                 reg: regInfo{
35519                         inputs: []inputInfo{
35520                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35521                         },
35522                         outputs: []outputInfo{
35523                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35524                         },
35525                 },
35526         },
35527         {
35528                 name:   "LDEBR",
35529                 argLen: 1,
35530                 asm:    s390x.ALDEBR,
35531                 reg: regInfo{
35532                         inputs: []inputInfo{
35533                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35534                         },
35535                         outputs: []outputInfo{
35536                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // SP SB
35549                         },
35550                         outputs: []outputInfo{
35551                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // SP SB
35563                                 {1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35564                         },
35565                         outputs: []outputInfo{
35566                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35580                         },
35581                         outputs: []outputInfo{
35582                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35596                         },
35597                         outputs: []outputInfo{
35598                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35612                         },
35613                         outputs: []outputInfo{
35614                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35628                         },
35629                         outputs: []outputInfo{
35630                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35644                         },
35645                         outputs: []outputInfo{
35646                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35660                         },
35661                         outputs: []outputInfo{
35662                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35676                         },
35677                         outputs: []outputInfo{
35678                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35679                         },
35680                 },
35681         },
35682         {
35683                 name:   "MOVWBR",
35684                 argLen: 1,
35685                 asm:    s390x.AMOVWBR,
35686                 reg: regInfo{
35687                         inputs: []inputInfo{
35688                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35689                         },
35690                         outputs: []outputInfo{
35691                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35692                         },
35693                 },
35694         },
35695         {
35696                 name:   "MOVDBR",
35697                 argLen: 1,
35698                 asm:    s390x.AMOVDBR,
35699                 reg: regInfo{
35700                         inputs: []inputInfo{
35701                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35702                         },
35703                         outputs: []outputInfo{
35704                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35718                         },
35719                         outputs: []outputInfo{
35720                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35734                         },
35735                         outputs: []outputInfo{
35736                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35750                         },
35751                         outputs: []outputInfo{
35752                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35766                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35780                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35794                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35808                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35822                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35836                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35850                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35866                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35880                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35881                         },
35882                         outputs: []outputInfo{
35883                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35897                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35898                         },
35899                         outputs: []outputInfo{
35900                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35914                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35915                         },
35916                         outputs: []outputInfo{
35917                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35931                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35932                         },
35933                         outputs: []outputInfo{
35934                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35948                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35949                         },
35950                         outputs: []outputInfo{
35951                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35965                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35966                         },
35967                         outputs: []outputInfo{
35968                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35982                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35983                         },
35984                         outputs: []outputInfo{
35985                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35999                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36000                         },
36001                         outputs: []outputInfo{
36002                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36016                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36017                         },
36018                         outputs: []outputInfo{
36019                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36033                                 {0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36034                         },
36035                         outputs: []outputInfo{
36036                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36050                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36051                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36065                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36066                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36080                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36081                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36095                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36096                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36110                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36111                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36125                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36126                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36140                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36141                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 g R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 g R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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},  // R12
36241                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36242                         },
36243                         clobbers: 4294933503, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 g R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36255                         },
36256                         clobbers: 4294933503, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 g R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36270                         },
36271                 },
36272         },
36273         {
36274                 name:      "LoweredGetClosurePtr",
36275                 argLen:    0,
36276                 zeroWidth: true,
36277                 reg: regInfo{
36278                         outputs: []outputInfo{
36279                                 {0, 4096}, // R12
36280                         },
36281                 },
36282         },
36283         {
36284                 name:              "LoweredGetCallerSP",
36285                 argLen:            1,
36286                 rematerializeable: true,
36287                 reg: regInfo{
36288                         outputs: []outputInfo{
36289                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36290                         },
36291                 },
36292         },
36293         {
36294                 name:              "LoweredGetCallerPC",
36295                 argLen:            0,
36296                 rematerializeable: true,
36297                 reg: regInfo{
36298                         outputs: []outputInfo{
36299                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36323                         },
36324                         outputs: []outputInfo{
36325                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36337                         },
36338                         outputs: []outputInfo{
36339                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36340                         },
36341                 },
36342         },
36343         {
36344                 name:         "LoweredWB",
36345                 auxType:      auxInt64,
36346                 argLen:       1,
36347                 clobberFlags: true,
36348                 reg: regInfo{
36349                         clobbers: 4294918146, // R1 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36350                         outputs: []outputInfo{
36351                                 {0, 512}, // R9
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}, // R2
36363                                 {1, 8}, // R3
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}, // R1
36375                                 {1, 4}, // R2
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}, // R0
36387                                 {1, 2}, // R1
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36427                         },
36428                         outputs: []outputInfo{
36429                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36443                         },
36444                         outputs: []outputInfo{
36445                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36459                         },
36460                         outputs: []outputInfo{
36461                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36477                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36493                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36509                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36525                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36526                         },
36527                         outputs: []outputInfo{
36528                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36544                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36545                         },
36546                         outputs: []outputInfo{
36547                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36570                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36583                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36584                         },
36585                         clobbers: 2, // R1
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36597                                 {1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36610                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36611                         },
36612                         clobbers: 2, // R1
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},     // R0
36627                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36628                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36629                         },
36630                         clobbers: 1, // R0
36631                         outputs: []outputInfo{
36632                                 {1, 0},
36633                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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},     // R0
36649                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36650                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36651                         },
36652                         clobbers: 1, // R0
36653                         outputs: []outputInfo{
36654                                 {1, 0},
36655                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36671                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36672                         },
36673                         outputs: []outputInfo{
36674                                 {1, 0},
36675                                 {0, 1}, // R0
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}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36691                                 {1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36692                         },
36693                         outputs: []outputInfo{
36694                                 {1, 0},
36695                                 {0, 1}, // R0
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36707                         },
36708                         clobbers: 2, // R1
36709                         outputs: []outputInfo{
36710                                 {0, 1}, // R0
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36722                         },
36723                         outputs: []outputInfo{
36724                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36725                         },
36726                 },
36727         },
36728         {
36729                 name:   "MLGR",
36730                 argLen: 2,
36731                 asm:    s390x.AMLGR,
36732                 reg: regInfo{
36733                         inputs: []inputInfo{
36734                                 {1, 8},     // R3
36735                                 {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36736                         },
36737                         outputs: []outputInfo{
36738                                 {0, 4}, // R2
36739                                 {1, 8}, // R3
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},     // R1
36769                                 {2, 4},     // R2
36770                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36785                                 {2, 4},     // R2
36786                                 {3, 8},     // R3
36787                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36802                                 {2, 4},     // R2
36803                                 {3, 8},     // R3
36804                                 {4, 16},    // R4
36805                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36820                                 {2, 4},     // R2
36821                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36836                                 {2, 4},     // R2
36837                                 {3, 8},     // R3
36838                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36853                                 {2, 4},     // R2
36854                                 {3, 8},     // R3
36855                                 {4, 16},    // R4
36856                                 {0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
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},     // R1
36870                                 {1, 4},     // R2
36871                                 {2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36872                         },
36873                         clobbers: 6, // R1 R2
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},     // R1
36885                                 {1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36886                         },
36887                         clobbers: 2, // R1
36888                 },
36889         },
36890
36891         {
36892                 name:    "LoweredStaticCall",
36893                 auxType: auxCallOff,
36894                 argLen:  1,
36895                 call:    true,
36896                 reg: regInfo{
36897                         clobbers: 844424930131967, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 g
36898                 },
36899         },
36900         {
36901                 name:     "LoweredTailCall",
36902                 auxType:  auxCallOff,
36903                 argLen:   1,
36904                 call:     true,
36905                 tailCall: true,
36906                 reg: regInfo{
36907                         clobbers: 844424930131967, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 g
36908                 },
36909         },
36910         {
36911                 name:    "LoweredClosureCall",
36912                 auxType: auxCallOff,
36913                 argLen:  3,
36914                 call:    true,
36915                 reg: regInfo{
36916                         inputs: []inputInfo{
36917                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36918                                 {1, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36919                         },
36920                         clobbers: 844424930131967, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 g
36921                 },
36922         },
36923         {
36924                 name:    "LoweredInterCall",
36925                 auxType: auxCallOff,
36926                 argLen:  2,
36927                 call:    true,
36928                 reg: regInfo{
36929                         inputs: []inputInfo{
36930                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36931                         },
36932                         clobbers: 844424930131967, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 g
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
36944                         },
36945                         outputs: []outputInfo{
36946                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36947                         },
36948                 },
36949         },
36950         {
36951                 name:    "LoweredMove",
36952                 auxType: auxInt64,
36953                 argLen:  3,
36954                 reg: regInfo{
36955                         inputs: []inputInfo{
36956                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36957                                 {1, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36958                         },
36959                 },
36960         },
36961         {
36962                 name:    "LoweredZero",
36963                 auxType: auxInt64,
36964                 argLen:  2,
36965                 reg: regInfo{
36966                         inputs: []inputInfo{
36967                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36968                         },
36969                 },
36970         },
36971         {
36972                 name:   "LoweredGetClosurePtr",
36973                 argLen: 0,
36974                 reg: regInfo{
36975                         outputs: []outputInfo{
36976                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36977                         },
36978                 },
36979         },
36980         {
36981                 name:              "LoweredGetCallerPC",
36982                 argLen:            0,
36983                 rematerializeable: true,
36984                 reg: regInfo{
36985                         outputs: []outputInfo{
36986                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
36987                         },
36988                 },
36989         },
36990         {
36991                 name:              "LoweredGetCallerSP",
36992                 argLen:            1,
36993                 rematerializeable: true,
36994                 reg: regInfo{
36995                         outputs: []outputInfo{
36996                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37008                         },
37009                 },
37010         },
37011         {
37012                 name:    "LoweredWB",
37013                 auxType: auxInt64,
37014                 argLen:  1,
37015                 reg: regInfo{
37016                         clobbers: 844424930131967, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 g
37017                         outputs: []outputInfo{
37018                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37019                         },
37020                 },
37021         },
37022         {
37023                 name:   "LoweredConvert",
37024                 argLen: 2,
37025                 reg: regInfo{
37026                         inputs: []inputInfo{
37027                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37028                         },
37029                         outputs: []outputInfo{
37030                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37031                         },
37032                 },
37033         },
37034         {
37035                 name:   "Select",
37036                 argLen: 3,
37037                 asm:    wasm.ASelect,
37038                 reg: regInfo{
37039                         inputs: []inputInfo{
37040                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37041                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37042                                 {2, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37043                         },
37044                         outputs: []outputInfo{
37045                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37057                         },
37058                         outputs: []outputInfo{
37059                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37071                         },
37072                         outputs: []outputInfo{
37073                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37085                         },
37086                         outputs: []outputInfo{
37087                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37099                         },
37100                         outputs: []outputInfo{
37101                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37113                         },
37114                         outputs: []outputInfo{
37115                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37127                         },
37128                         outputs: []outputInfo{
37129                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37141                         },
37142                         outputs: []outputInfo{
37143                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37155                                 {0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
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},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37167                                 {0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
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},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37179                                 {0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
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},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37191                                 {0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37203                         },
37204                         outputs: []outputInfo{
37205                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37217                         },
37218                         outputs: []outputInfo{
37219                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
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},       // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37231                                 {0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
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},  // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37243                                 {0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37277                         },
37278                 },
37279         },
37280         {
37281                 name:   "I64Eqz",
37282                 argLen: 1,
37283                 asm:    wasm.AI64Eqz,
37284                 reg: regInfo{
37285                         inputs: []inputInfo{
37286                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37287                         },
37288                         outputs: []outputInfo{
37289                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37290                         },
37291                 },
37292         },
37293         {
37294                 name:   "I64Eq",
37295                 argLen: 2,
37296                 asm:    wasm.AI64Eq,
37297                 reg: regInfo{
37298                         inputs: []inputInfo{
37299                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37300                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37301                         },
37302                         outputs: []outputInfo{
37303                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37304                         },
37305                 },
37306         },
37307         {
37308                 name:   "I64Ne",
37309                 argLen: 2,
37310                 asm:    wasm.AI64Ne,
37311                 reg: regInfo{
37312                         inputs: []inputInfo{
37313                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37314                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37315                         },
37316                         outputs: []outputInfo{
37317                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37318                         },
37319                 },
37320         },
37321         {
37322                 name:   "I64LtS",
37323                 argLen: 2,
37324                 asm:    wasm.AI64LtS,
37325                 reg: regInfo{
37326                         inputs: []inputInfo{
37327                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37328                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37329                         },
37330                         outputs: []outputInfo{
37331                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37332                         },
37333                 },
37334         },
37335         {
37336                 name:   "I64LtU",
37337                 argLen: 2,
37338                 asm:    wasm.AI64LtU,
37339                 reg: regInfo{
37340                         inputs: []inputInfo{
37341                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37342                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37343                         },
37344                         outputs: []outputInfo{
37345                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37346                         },
37347                 },
37348         },
37349         {
37350                 name:   "I64GtS",
37351                 argLen: 2,
37352                 asm:    wasm.AI64GtS,
37353                 reg: regInfo{
37354                         inputs: []inputInfo{
37355                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37356                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37357                         },
37358                         outputs: []outputInfo{
37359                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37360                         },
37361                 },
37362         },
37363         {
37364                 name:   "I64GtU",
37365                 argLen: 2,
37366                 asm:    wasm.AI64GtU,
37367                 reg: regInfo{
37368                         inputs: []inputInfo{
37369                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37370                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37371                         },
37372                         outputs: []outputInfo{
37373                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37374                         },
37375                 },
37376         },
37377         {
37378                 name:   "I64LeS",
37379                 argLen: 2,
37380                 asm:    wasm.AI64LeS,
37381                 reg: regInfo{
37382                         inputs: []inputInfo{
37383                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37384                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37385                         },
37386                         outputs: []outputInfo{
37387                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37388                         },
37389                 },
37390         },
37391         {
37392                 name:   "I64LeU",
37393                 argLen: 2,
37394                 asm:    wasm.AI64LeU,
37395                 reg: regInfo{
37396                         inputs: []inputInfo{
37397                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37398                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37399                         },
37400                         outputs: []outputInfo{
37401                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37402                         },
37403                 },
37404         },
37405         {
37406                 name:   "I64GeS",
37407                 argLen: 2,
37408                 asm:    wasm.AI64GeS,
37409                 reg: regInfo{
37410                         inputs: []inputInfo{
37411                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37412                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37413                         },
37414                         outputs: []outputInfo{
37415                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37416                         },
37417                 },
37418         },
37419         {
37420                 name:   "I64GeU",
37421                 argLen: 2,
37422                 asm:    wasm.AI64GeU,
37423                 reg: regInfo{
37424                         inputs: []inputInfo{
37425                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37426                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37427                         },
37428                         outputs: []outputInfo{
37429                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37430                         },
37431                 },
37432         },
37433         {
37434                 name:   "F32Eq",
37435                 argLen: 2,
37436                 asm:    wasm.AF32Eq,
37437                 reg: regInfo{
37438                         inputs: []inputInfo{
37439                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37440                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37441                         },
37442                         outputs: []outputInfo{
37443                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37444                         },
37445                 },
37446         },
37447         {
37448                 name:   "F32Ne",
37449                 argLen: 2,
37450                 asm:    wasm.AF32Ne,
37451                 reg: regInfo{
37452                         inputs: []inputInfo{
37453                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37454                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37455                         },
37456                         outputs: []outputInfo{
37457                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37458                         },
37459                 },
37460         },
37461         {
37462                 name:   "F32Lt",
37463                 argLen: 2,
37464                 asm:    wasm.AF32Lt,
37465                 reg: regInfo{
37466                         inputs: []inputInfo{
37467                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37468                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37469                         },
37470                         outputs: []outputInfo{
37471                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37472                         },
37473                 },
37474         },
37475         {
37476                 name:   "F32Gt",
37477                 argLen: 2,
37478                 asm:    wasm.AF32Gt,
37479                 reg: regInfo{
37480                         inputs: []inputInfo{
37481                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37482                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37483                         },
37484                         outputs: []outputInfo{
37485                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37486                         },
37487                 },
37488         },
37489         {
37490                 name:   "F32Le",
37491                 argLen: 2,
37492                 asm:    wasm.AF32Le,
37493                 reg: regInfo{
37494                         inputs: []inputInfo{
37495                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37496                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37497                         },
37498                         outputs: []outputInfo{
37499                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37500                         },
37501                 },
37502         },
37503         {
37504                 name:   "F32Ge",
37505                 argLen: 2,
37506                 asm:    wasm.AF32Ge,
37507                 reg: regInfo{
37508                         inputs: []inputInfo{
37509                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37510                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37511                         },
37512                         outputs: []outputInfo{
37513                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37514                         },
37515                 },
37516         },
37517         {
37518                 name:   "F64Eq",
37519                 argLen: 2,
37520                 asm:    wasm.AF64Eq,
37521                 reg: regInfo{
37522                         inputs: []inputInfo{
37523                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37524                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37525                         },
37526                         outputs: []outputInfo{
37527                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37528                         },
37529                 },
37530         },
37531         {
37532                 name:   "F64Ne",
37533                 argLen: 2,
37534                 asm:    wasm.AF64Ne,
37535                 reg: regInfo{
37536                         inputs: []inputInfo{
37537                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37538                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37539                         },
37540                         outputs: []outputInfo{
37541                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37542                         },
37543                 },
37544         },
37545         {
37546                 name:   "F64Lt",
37547                 argLen: 2,
37548                 asm:    wasm.AF64Lt,
37549                 reg: regInfo{
37550                         inputs: []inputInfo{
37551                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37552                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37553                         },
37554                         outputs: []outputInfo{
37555                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37556                         },
37557                 },
37558         },
37559         {
37560                 name:   "F64Gt",
37561                 argLen: 2,
37562                 asm:    wasm.AF64Gt,
37563                 reg: regInfo{
37564                         inputs: []inputInfo{
37565                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37566                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37567                         },
37568                         outputs: []outputInfo{
37569                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37570                         },
37571                 },
37572         },
37573         {
37574                 name:   "F64Le",
37575                 argLen: 2,
37576                 asm:    wasm.AF64Le,
37577                 reg: regInfo{
37578                         inputs: []inputInfo{
37579                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37580                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37581                         },
37582                         outputs: []outputInfo{
37583                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37584                         },
37585                 },
37586         },
37587         {
37588                 name:   "F64Ge",
37589                 argLen: 2,
37590                 asm:    wasm.AF64Ge,
37591                 reg: regInfo{
37592                         inputs: []inputInfo{
37593                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37594                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37595                         },
37596                         outputs: []outputInfo{
37597                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37598                         },
37599                 },
37600         },
37601         {
37602                 name:   "I64Add",
37603                 argLen: 2,
37604                 asm:    wasm.AI64Add,
37605                 reg: regInfo{
37606                         inputs: []inputInfo{
37607                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37608                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37609                         },
37610                         outputs: []outputInfo{
37611                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37623                         },
37624                         outputs: []outputInfo{
37625                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37626                         },
37627                 },
37628         },
37629         {
37630                 name:   "I64Sub",
37631                 argLen: 2,
37632                 asm:    wasm.AI64Sub,
37633                 reg: regInfo{
37634                         inputs: []inputInfo{
37635                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37636                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37637                         },
37638                         outputs: []outputInfo{
37639                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37640                         },
37641                 },
37642         },
37643         {
37644                 name:   "I64Mul",
37645                 argLen: 2,
37646                 asm:    wasm.AI64Mul,
37647                 reg: regInfo{
37648                         inputs: []inputInfo{
37649                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37650                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37651                         },
37652                         outputs: []outputInfo{
37653                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37654                         },
37655                 },
37656         },
37657         {
37658                 name:   "I64DivS",
37659                 argLen: 2,
37660                 asm:    wasm.AI64DivS,
37661                 reg: regInfo{
37662                         inputs: []inputInfo{
37663                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37664                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37665                         },
37666                         outputs: []outputInfo{
37667                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37668                         },
37669                 },
37670         },
37671         {
37672                 name:   "I64DivU",
37673                 argLen: 2,
37674                 asm:    wasm.AI64DivU,
37675                 reg: regInfo{
37676                         inputs: []inputInfo{
37677                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37678                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37679                         },
37680                         outputs: []outputInfo{
37681                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37682                         },
37683                 },
37684         },
37685         {
37686                 name:   "I64RemS",
37687                 argLen: 2,
37688                 asm:    wasm.AI64RemS,
37689                 reg: regInfo{
37690                         inputs: []inputInfo{
37691                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37692                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37693                         },
37694                         outputs: []outputInfo{
37695                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37696                         },
37697                 },
37698         },
37699         {
37700                 name:   "I64RemU",
37701                 argLen: 2,
37702                 asm:    wasm.AI64RemU,
37703                 reg: regInfo{
37704                         inputs: []inputInfo{
37705                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37706                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37707                         },
37708                         outputs: []outputInfo{
37709                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37710                         },
37711                 },
37712         },
37713         {
37714                 name:   "I64And",
37715                 argLen: 2,
37716                 asm:    wasm.AI64And,
37717                 reg: regInfo{
37718                         inputs: []inputInfo{
37719                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37720                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37721                         },
37722                         outputs: []outputInfo{
37723                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37724                         },
37725                 },
37726         },
37727         {
37728                 name:   "I64Or",
37729                 argLen: 2,
37730                 asm:    wasm.AI64Or,
37731                 reg: regInfo{
37732                         inputs: []inputInfo{
37733                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37734                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37735                         },
37736                         outputs: []outputInfo{
37737                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37738                         },
37739                 },
37740         },
37741         {
37742                 name:   "I64Xor",
37743                 argLen: 2,
37744                 asm:    wasm.AI64Xor,
37745                 reg: regInfo{
37746                         inputs: []inputInfo{
37747                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37748                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37749                         },
37750                         outputs: []outputInfo{
37751                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37752                         },
37753                 },
37754         },
37755         {
37756                 name:   "I64Shl",
37757                 argLen: 2,
37758                 asm:    wasm.AI64Shl,
37759                 reg: regInfo{
37760                         inputs: []inputInfo{
37761                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37762                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37763                         },
37764                         outputs: []outputInfo{
37765                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37766                         },
37767                 },
37768         },
37769         {
37770                 name:   "I64ShrS",
37771                 argLen: 2,
37772                 asm:    wasm.AI64ShrS,
37773                 reg: regInfo{
37774                         inputs: []inputInfo{
37775                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37776                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37777                         },
37778                         outputs: []outputInfo{
37779                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37780                         },
37781                 },
37782         },
37783         {
37784                 name:   "I64ShrU",
37785                 argLen: 2,
37786                 asm:    wasm.AI64ShrU,
37787                 reg: regInfo{
37788                         inputs: []inputInfo{
37789                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37790                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37791                         },
37792                         outputs: []outputInfo{
37793                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37794                         },
37795                 },
37796         },
37797         {
37798                 name:   "F32Neg",
37799                 argLen: 1,
37800                 asm:    wasm.AF32Neg,
37801                 reg: regInfo{
37802                         inputs: []inputInfo{
37803                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37804                         },
37805                         outputs: []outputInfo{
37806                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37807                         },
37808                 },
37809         },
37810         {
37811                 name:   "F32Add",
37812                 argLen: 2,
37813                 asm:    wasm.AF32Add,
37814                 reg: regInfo{
37815                         inputs: []inputInfo{
37816                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37817                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37818                         },
37819                         outputs: []outputInfo{
37820                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37821                         },
37822                 },
37823         },
37824         {
37825                 name:   "F32Sub",
37826                 argLen: 2,
37827                 asm:    wasm.AF32Sub,
37828                 reg: regInfo{
37829                         inputs: []inputInfo{
37830                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37831                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37832                         },
37833                         outputs: []outputInfo{
37834                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37835                         },
37836                 },
37837         },
37838         {
37839                 name:   "F32Mul",
37840                 argLen: 2,
37841                 asm:    wasm.AF32Mul,
37842                 reg: regInfo{
37843                         inputs: []inputInfo{
37844                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37845                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37846                         },
37847                         outputs: []outputInfo{
37848                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37849                         },
37850                 },
37851         },
37852         {
37853                 name:   "F32Div",
37854                 argLen: 2,
37855                 asm:    wasm.AF32Div,
37856                 reg: regInfo{
37857                         inputs: []inputInfo{
37858                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37859                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37860                         },
37861                         outputs: []outputInfo{
37862                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37863                         },
37864                 },
37865         },
37866         {
37867                 name:   "F64Neg",
37868                 argLen: 1,
37869                 asm:    wasm.AF64Neg,
37870                 reg: regInfo{
37871                         inputs: []inputInfo{
37872                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37873                         },
37874                         outputs: []outputInfo{
37875                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37876                         },
37877                 },
37878         },
37879         {
37880                 name:   "F64Add",
37881                 argLen: 2,
37882                 asm:    wasm.AF64Add,
37883                 reg: regInfo{
37884                         inputs: []inputInfo{
37885                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37886                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37887                         },
37888                         outputs: []outputInfo{
37889                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37890                         },
37891                 },
37892         },
37893         {
37894                 name:   "F64Sub",
37895                 argLen: 2,
37896                 asm:    wasm.AF64Sub,
37897                 reg: regInfo{
37898                         inputs: []inputInfo{
37899                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37900                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37901                         },
37902                         outputs: []outputInfo{
37903                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37904                         },
37905                 },
37906         },
37907         {
37908                 name:   "F64Mul",
37909                 argLen: 2,
37910                 asm:    wasm.AF64Mul,
37911                 reg: regInfo{
37912                         inputs: []inputInfo{
37913                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37914                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37915                         },
37916                         outputs: []outputInfo{
37917                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37918                         },
37919                 },
37920         },
37921         {
37922                 name:   "F64Div",
37923                 argLen: 2,
37924                 asm:    wasm.AF64Div,
37925                 reg: regInfo{
37926                         inputs: []inputInfo{
37927                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37928                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37929                         },
37930                         outputs: []outputInfo{
37931                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37932                         },
37933                 },
37934         },
37935         {
37936                 name:   "I64TruncSatF64S",
37937                 argLen: 1,
37938                 asm:    wasm.AI64TruncSatF64S,
37939                 reg: regInfo{
37940                         inputs: []inputInfo{
37941                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37942                         },
37943                         outputs: []outputInfo{
37944                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37945                         },
37946                 },
37947         },
37948         {
37949                 name:   "I64TruncSatF64U",
37950                 argLen: 1,
37951                 asm:    wasm.AI64TruncSatF64U,
37952                 reg: regInfo{
37953                         inputs: []inputInfo{
37954                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37955                         },
37956                         outputs: []outputInfo{
37957                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37958                         },
37959                 },
37960         },
37961         {
37962                 name:   "I64TruncSatF32S",
37963                 argLen: 1,
37964                 asm:    wasm.AI64TruncSatF32S,
37965                 reg: regInfo{
37966                         inputs: []inputInfo{
37967                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37968                         },
37969                         outputs: []outputInfo{
37970                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37971                         },
37972                 },
37973         },
37974         {
37975                 name:   "I64TruncSatF32U",
37976                 argLen: 1,
37977                 asm:    wasm.AI64TruncSatF32U,
37978                 reg: regInfo{
37979                         inputs: []inputInfo{
37980                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37981                         },
37982                         outputs: []outputInfo{
37983                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37984                         },
37985                 },
37986         },
37987         {
37988                 name:   "F32ConvertI64S",
37989                 argLen: 1,
37990                 asm:    wasm.AF32ConvertI64S,
37991                 reg: regInfo{
37992                         inputs: []inputInfo{
37993                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37994                         },
37995                         outputs: []outputInfo{
37996                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37997                         },
37998                 },
37999         },
38000         {
38001                 name:   "F32ConvertI64U",
38002                 argLen: 1,
38003                 asm:    wasm.AF32ConvertI64U,
38004                 reg: regInfo{
38005                         inputs: []inputInfo{
38006                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38007                         },
38008                         outputs: []outputInfo{
38009                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38010                         },
38011                 },
38012         },
38013         {
38014                 name:   "F64ConvertI64S",
38015                 argLen: 1,
38016                 asm:    wasm.AF64ConvertI64S,
38017                 reg: regInfo{
38018                         inputs: []inputInfo{
38019                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38020                         },
38021                         outputs: []outputInfo{
38022                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38023                         },
38024                 },
38025         },
38026         {
38027                 name:   "F64ConvertI64U",
38028                 argLen: 1,
38029                 asm:    wasm.AF64ConvertI64U,
38030                 reg: regInfo{
38031                         inputs: []inputInfo{
38032                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38033                         },
38034                         outputs: []outputInfo{
38035                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38036                         },
38037                 },
38038         },
38039         {
38040                 name:   "F32DemoteF64",
38041                 argLen: 1,
38042                 asm:    wasm.AF32DemoteF64,
38043                 reg: regInfo{
38044                         inputs: []inputInfo{
38045                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38046                         },
38047                         outputs: []outputInfo{
38048                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38049                         },
38050                 },
38051         },
38052         {
38053                 name:   "F64PromoteF32",
38054                 argLen: 1,
38055                 asm:    wasm.AF64PromoteF32,
38056                 reg: regInfo{
38057                         inputs: []inputInfo{
38058                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38059                         },
38060                         outputs: []outputInfo{
38061                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38062                         },
38063                 },
38064         },
38065         {
38066                 name:   "I64Extend8S",
38067                 argLen: 1,
38068                 asm:    wasm.AI64Extend8S,
38069                 reg: regInfo{
38070                         inputs: []inputInfo{
38071                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38072                         },
38073                         outputs: []outputInfo{
38074                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38075                         },
38076                 },
38077         },
38078         {
38079                 name:   "I64Extend16S",
38080                 argLen: 1,
38081                 asm:    wasm.AI64Extend16S,
38082                 reg: regInfo{
38083                         inputs: []inputInfo{
38084                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38085                         },
38086                         outputs: []outputInfo{
38087                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38088                         },
38089                 },
38090         },
38091         {
38092                 name:   "I64Extend32S",
38093                 argLen: 1,
38094                 asm:    wasm.AI64Extend32S,
38095                 reg: regInfo{
38096                         inputs: []inputInfo{
38097                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38098                         },
38099                         outputs: []outputInfo{
38100                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38101                         },
38102                 },
38103         },
38104         {
38105                 name:   "F32Sqrt",
38106                 argLen: 1,
38107                 asm:    wasm.AF32Sqrt,
38108                 reg: regInfo{
38109                         inputs: []inputInfo{
38110                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38111                         },
38112                         outputs: []outputInfo{
38113                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38114                         },
38115                 },
38116         },
38117         {
38118                 name:   "F32Trunc",
38119                 argLen: 1,
38120                 asm:    wasm.AF32Trunc,
38121                 reg: regInfo{
38122                         inputs: []inputInfo{
38123                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38124                         },
38125                         outputs: []outputInfo{
38126                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38127                         },
38128                 },
38129         },
38130         {
38131                 name:   "F32Ceil",
38132                 argLen: 1,
38133                 asm:    wasm.AF32Ceil,
38134                 reg: regInfo{
38135                         inputs: []inputInfo{
38136                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38137                         },
38138                         outputs: []outputInfo{
38139                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38140                         },
38141                 },
38142         },
38143         {
38144                 name:   "F32Floor",
38145                 argLen: 1,
38146                 asm:    wasm.AF32Floor,
38147                 reg: regInfo{
38148                         inputs: []inputInfo{
38149                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38150                         },
38151                         outputs: []outputInfo{
38152                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38153                         },
38154                 },
38155         },
38156         {
38157                 name:   "F32Nearest",
38158                 argLen: 1,
38159                 asm:    wasm.AF32Nearest,
38160                 reg: regInfo{
38161                         inputs: []inputInfo{
38162                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38163                         },
38164                         outputs: []outputInfo{
38165                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38166                         },
38167                 },
38168         },
38169         {
38170                 name:   "F32Abs",
38171                 argLen: 1,
38172                 asm:    wasm.AF32Abs,
38173                 reg: regInfo{
38174                         inputs: []inputInfo{
38175                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38176                         },
38177                         outputs: []outputInfo{
38178                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38179                         },
38180                 },
38181         },
38182         {
38183                 name:   "F32Copysign",
38184                 argLen: 2,
38185                 asm:    wasm.AF32Copysign,
38186                 reg: regInfo{
38187                         inputs: []inputInfo{
38188                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38189                                 {1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38190                         },
38191                         outputs: []outputInfo{
38192                                 {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38193                         },
38194                 },
38195         },
38196         {
38197                 name:   "F64Sqrt",
38198                 argLen: 1,
38199                 asm:    wasm.AF64Sqrt,
38200                 reg: regInfo{
38201                         inputs: []inputInfo{
38202                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38203                         },
38204                         outputs: []outputInfo{
38205                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38206                         },
38207                 },
38208         },
38209         {
38210                 name:   "F64Trunc",
38211                 argLen: 1,
38212                 asm:    wasm.AF64Trunc,
38213                 reg: regInfo{
38214                         inputs: []inputInfo{
38215                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38216                         },
38217                         outputs: []outputInfo{
38218                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38219                         },
38220                 },
38221         },
38222         {
38223                 name:   "F64Ceil",
38224                 argLen: 1,
38225                 asm:    wasm.AF64Ceil,
38226                 reg: regInfo{
38227                         inputs: []inputInfo{
38228                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38229                         },
38230                         outputs: []outputInfo{
38231                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38232                         },
38233                 },
38234         },
38235         {
38236                 name:   "F64Floor",
38237                 argLen: 1,
38238                 asm:    wasm.AF64Floor,
38239                 reg: regInfo{
38240                         inputs: []inputInfo{
38241                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38242                         },
38243                         outputs: []outputInfo{
38244                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38245                         },
38246                 },
38247         },
38248         {
38249                 name:   "F64Nearest",
38250                 argLen: 1,
38251                 asm:    wasm.AF64Nearest,
38252                 reg: regInfo{
38253                         inputs: []inputInfo{
38254                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38255                         },
38256                         outputs: []outputInfo{
38257                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38258                         },
38259                 },
38260         },
38261         {
38262                 name:   "F64Abs",
38263                 argLen: 1,
38264                 asm:    wasm.AF64Abs,
38265                 reg: regInfo{
38266                         inputs: []inputInfo{
38267                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38268                         },
38269                         outputs: []outputInfo{
38270                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38271                         },
38272                 },
38273         },
38274         {
38275                 name:   "F64Copysign",
38276                 argLen: 2,
38277                 asm:    wasm.AF64Copysign,
38278                 reg: regInfo{
38279                         inputs: []inputInfo{
38280                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38281                                 {1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38282                         },
38283                         outputs: []outputInfo{
38284                                 {0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38285                         },
38286                 },
38287         },
38288         {
38289                 name:   "I64Ctz",
38290                 argLen: 1,
38291                 asm:    wasm.AI64Ctz,
38292                 reg: regInfo{
38293                         inputs: []inputInfo{
38294                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38295                         },
38296                         outputs: []outputInfo{
38297                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38298                         },
38299                 },
38300         },
38301         {
38302                 name:   "I64Clz",
38303                 argLen: 1,
38304                 asm:    wasm.AI64Clz,
38305                 reg: regInfo{
38306                         inputs: []inputInfo{
38307                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38308                         },
38309                         outputs: []outputInfo{
38310                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38311                         },
38312                 },
38313         },
38314         {
38315                 name:   "I32Rotl",
38316                 argLen: 2,
38317                 asm:    wasm.AI32Rotl,
38318                 reg: regInfo{
38319                         inputs: []inputInfo{
38320                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38321                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38322                         },
38323                         outputs: []outputInfo{
38324                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38325                         },
38326                 },
38327         },
38328         {
38329                 name:   "I64Rotl",
38330                 argLen: 2,
38331                 asm:    wasm.AI64Rotl,
38332                 reg: regInfo{
38333                         inputs: []inputInfo{
38334                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38335                                 {1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38336                         },
38337                         outputs: []outputInfo{
38338                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38339                         },
38340                 },
38341         },
38342         {
38343                 name:   "I64Popcnt",
38344                 argLen: 1,
38345                 asm:    wasm.AI64Popcnt,
38346                 reg: regInfo{
38347                         inputs: []inputInfo{
38348                                 {0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38349                         },
38350                         outputs: []outputInfo{
38351                                 {0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
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, -1, "R21"},
40711         {21, loong64.REGG, -1, "g"},
40712         {22, loong64.REG_R23, 17, "R23"},
40713         {23, loong64.REG_R24, 18, "R24"},
40714         {24, loong64.REG_R25, 19, "R25"},
40715         {25, loong64.REG_R26, 20, "R26"},
40716         {26, loong64.REG_R27, 21, "R27"},
40717         {27, loong64.REG_R28, 22, "R28"},
40718         {28, loong64.REG_R29, 23, "R29"},
40719         {29, loong64.REG_R31, 24, "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}
40755 var paramFloatRegLOONG64 = []int8{30, 31, 32, 33, 34, 35, 36, 37}
40756 var gpRegMaskLOONG64 = regMask(1070596088)
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)