1// Code generated from _gen/*Ops.go using 'go generate'; DO NOT EDIT.
2
3package ssa
4
5import (
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
18const (
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
168var 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
318func (k BlockKind) String() string { return blockString[k] }
319func (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
337const (
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	OpARM64LoweredAtomicOr8
1721	OpARM64LoweredAtomicAnd64
1722	OpARM64LoweredAtomicOr64
1723	OpARM64LoweredAtomicAnd32
1724	OpARM64LoweredAtomicOr32
1725	OpARM64LoweredAtomicAnd8Variant
1726	OpARM64LoweredAtomicOr8Variant
1727	OpARM64LoweredAtomicAnd64Variant
1728	OpARM64LoweredAtomicOr64Variant
1729	OpARM64LoweredAtomicAnd32Variant
1730	OpARM64LoweredAtomicOr32Variant
1731	OpARM64LoweredWB
1732	OpARM64LoweredPanicBoundsA
1733	OpARM64LoweredPanicBoundsB
1734	OpARM64LoweredPanicBoundsC
1735	OpARM64PRFM
1736	OpARM64DMB
1737
1738	OpLOONG64ADDV
1739	OpLOONG64ADDVconst
1740	OpLOONG64SUBV
1741	OpLOONG64SUBVconst
1742	OpLOONG64MULV
1743	OpLOONG64MULHV
1744	OpLOONG64MULHVU
1745	OpLOONG64DIVV
1746	OpLOONG64DIVVU
1747	OpLOONG64REMV
1748	OpLOONG64REMVU
1749	OpLOONG64ADDF
1750	OpLOONG64ADDD
1751	OpLOONG64SUBF
1752	OpLOONG64SUBD
1753	OpLOONG64MULF
1754	OpLOONG64MULD
1755	OpLOONG64DIVF
1756	OpLOONG64DIVD
1757	OpLOONG64AND
1758	OpLOONG64ANDconst
1759	OpLOONG64OR
1760	OpLOONG64ORconst
1761	OpLOONG64XOR
1762	OpLOONG64XORconst
1763	OpLOONG64NOR
1764	OpLOONG64NORconst
1765	OpLOONG64NEGV
1766	OpLOONG64NEGF
1767	OpLOONG64NEGD
1768	OpLOONG64SQRTD
1769	OpLOONG64SQRTF
1770	OpLOONG64MASKEQZ
1771	OpLOONG64MASKNEZ
1772	OpLOONG64SLLV
1773	OpLOONG64SLLVconst
1774	OpLOONG64SRLV
1775	OpLOONG64SRLVconst
1776	OpLOONG64SRAV
1777	OpLOONG64SRAVconst
1778	OpLOONG64ROTR
1779	OpLOONG64ROTRV
1780	OpLOONG64ROTRconst
1781	OpLOONG64ROTRVconst
1782	OpLOONG64SGT
1783	OpLOONG64SGTconst
1784	OpLOONG64SGTU
1785	OpLOONG64SGTUconst
1786	OpLOONG64CMPEQF
1787	OpLOONG64CMPEQD
1788	OpLOONG64CMPGEF
1789	OpLOONG64CMPGED
1790	OpLOONG64CMPGTF
1791	OpLOONG64CMPGTD
1792	OpLOONG64MOVVconst
1793	OpLOONG64MOVFconst
1794	OpLOONG64MOVDconst
1795	OpLOONG64MOVVaddr
1796	OpLOONG64MOVBload
1797	OpLOONG64MOVBUload
1798	OpLOONG64MOVHload
1799	OpLOONG64MOVHUload
1800	OpLOONG64MOVWload
1801	OpLOONG64MOVWUload
1802	OpLOONG64MOVVload
1803	OpLOONG64MOVFload
1804	OpLOONG64MOVDload
1805	OpLOONG64MOVBstore
1806	OpLOONG64MOVHstore
1807	OpLOONG64MOVWstore
1808	OpLOONG64MOVVstore
1809	OpLOONG64MOVFstore
1810	OpLOONG64MOVDstore
1811	OpLOONG64MOVBstorezero
1812	OpLOONG64MOVHstorezero
1813	OpLOONG64MOVWstorezero
1814	OpLOONG64MOVVstorezero
1815	OpLOONG64MOVBreg
1816	OpLOONG64MOVBUreg
1817	OpLOONG64MOVHreg
1818	OpLOONG64MOVHUreg
1819	OpLOONG64MOVWreg
1820	OpLOONG64MOVWUreg
1821	OpLOONG64MOVVreg
1822	OpLOONG64MOVVnop
1823	OpLOONG64MOVWF
1824	OpLOONG64MOVWD
1825	OpLOONG64MOVVF
1826	OpLOONG64MOVVD
1827	OpLOONG64TRUNCFW
1828	OpLOONG64TRUNCDW
1829	OpLOONG64TRUNCFV
1830	OpLOONG64TRUNCDV
1831	OpLOONG64MOVFD
1832	OpLOONG64MOVDF
1833	OpLOONG64CALLstatic
1834	OpLOONG64CALLtail
1835	OpLOONG64CALLclosure
1836	OpLOONG64CALLinter
1837	OpLOONG64DUFFZERO
1838	OpLOONG64DUFFCOPY
1839	OpLOONG64LoweredZero
1840	OpLOONG64LoweredMove
1841	OpLOONG64LoweredAtomicLoad8
1842	OpLOONG64LoweredAtomicLoad32
1843	OpLOONG64LoweredAtomicLoad64
1844	OpLOONG64LoweredAtomicStore8
1845	OpLOONG64LoweredAtomicStore32
1846	OpLOONG64LoweredAtomicStore64
1847	OpLOONG64LoweredAtomicStorezero32
1848	OpLOONG64LoweredAtomicStorezero64
1849	OpLOONG64LoweredAtomicExchange32
1850	OpLOONG64LoweredAtomicExchange64
1851	OpLOONG64LoweredAtomicAdd32
1852	OpLOONG64LoweredAtomicAdd64
1853	OpLOONG64LoweredAtomicAddconst32
1854	OpLOONG64LoweredAtomicAddconst64
1855	OpLOONG64LoweredAtomicCas32
1856	OpLOONG64LoweredAtomicCas64
1857	OpLOONG64LoweredNilCheck
1858	OpLOONG64FPFlagTrue
1859	OpLOONG64FPFlagFalse
1860	OpLOONG64LoweredGetClosurePtr
1861	OpLOONG64LoweredGetCallerSP
1862	OpLOONG64LoweredGetCallerPC
1863	OpLOONG64LoweredWB
1864	OpLOONG64LoweredPanicBoundsA
1865	OpLOONG64LoweredPanicBoundsB
1866	OpLOONG64LoweredPanicBoundsC
1867
1868	OpMIPSADD
1869	OpMIPSADDconst
1870	OpMIPSSUB
1871	OpMIPSSUBconst
1872	OpMIPSMUL
1873	OpMIPSMULT
1874	OpMIPSMULTU
1875	OpMIPSDIV
1876	OpMIPSDIVU
1877	OpMIPSADDF
1878	OpMIPSADDD
1879	OpMIPSSUBF
1880	OpMIPSSUBD
1881	OpMIPSMULF
1882	OpMIPSMULD
1883	OpMIPSDIVF
1884	OpMIPSDIVD
1885	OpMIPSAND
1886	OpMIPSANDconst
1887	OpMIPSOR
1888	OpMIPSORconst
1889	OpMIPSXOR
1890	OpMIPSXORconst
1891	OpMIPSNOR
1892	OpMIPSNORconst
1893	OpMIPSNEG
1894	OpMIPSNEGF
1895	OpMIPSNEGD
1896	OpMIPSABSD
1897	OpMIPSSQRTD
1898	OpMIPSSQRTF
1899	OpMIPSSLL
1900	OpMIPSSLLconst
1901	OpMIPSSRL
1902	OpMIPSSRLconst
1903	OpMIPSSRA
1904	OpMIPSSRAconst
1905	OpMIPSCLZ
1906	OpMIPSSGT
1907	OpMIPSSGTconst
1908	OpMIPSSGTzero
1909	OpMIPSSGTU
1910	OpMIPSSGTUconst
1911	OpMIPSSGTUzero
1912	OpMIPSCMPEQF
1913	OpMIPSCMPEQD
1914	OpMIPSCMPGEF
1915	OpMIPSCMPGED
1916	OpMIPSCMPGTF
1917	OpMIPSCMPGTD
1918	OpMIPSMOVWconst
1919	OpMIPSMOVFconst
1920	OpMIPSMOVDconst
1921	OpMIPSMOVWaddr
1922	OpMIPSMOVBload
1923	OpMIPSMOVBUload
1924	OpMIPSMOVHload
1925	OpMIPSMOVHUload
1926	OpMIPSMOVWload
1927	OpMIPSMOVFload
1928	OpMIPSMOVDload
1929	OpMIPSMOVBstore
1930	OpMIPSMOVHstore
1931	OpMIPSMOVWstore
1932	OpMIPSMOVFstore
1933	OpMIPSMOVDstore
1934	OpMIPSMOVBstorezero
1935	OpMIPSMOVHstorezero
1936	OpMIPSMOVWstorezero
1937	OpMIPSMOVWfpgp
1938	OpMIPSMOVWgpfp
1939	OpMIPSMOVBreg
1940	OpMIPSMOVBUreg
1941	OpMIPSMOVHreg
1942	OpMIPSMOVHUreg
1943	OpMIPSMOVWreg
1944	OpMIPSMOVWnop
1945	OpMIPSCMOVZ
1946	OpMIPSCMOVZzero
1947	OpMIPSMOVWF
1948	OpMIPSMOVWD
1949	OpMIPSTRUNCFW
1950	OpMIPSTRUNCDW
1951	OpMIPSMOVFD
1952	OpMIPSMOVDF
1953	OpMIPSCALLstatic
1954	OpMIPSCALLtail
1955	OpMIPSCALLclosure
1956	OpMIPSCALLinter
1957	OpMIPSLoweredAtomicLoad8
1958	OpMIPSLoweredAtomicLoad32
1959	OpMIPSLoweredAtomicStore8
1960	OpMIPSLoweredAtomicStore32
1961	OpMIPSLoweredAtomicStorezero
1962	OpMIPSLoweredAtomicExchange
1963	OpMIPSLoweredAtomicAdd
1964	OpMIPSLoweredAtomicAddconst
1965	OpMIPSLoweredAtomicCas
1966	OpMIPSLoweredAtomicAnd
1967	OpMIPSLoweredAtomicOr
1968	OpMIPSLoweredZero
1969	OpMIPSLoweredMove
1970	OpMIPSLoweredNilCheck
1971	OpMIPSFPFlagTrue
1972	OpMIPSFPFlagFalse
1973	OpMIPSLoweredGetClosurePtr
1974	OpMIPSLoweredGetCallerSP
1975	OpMIPSLoweredGetCallerPC
1976	OpMIPSLoweredWB
1977	OpMIPSLoweredPanicBoundsA
1978	OpMIPSLoweredPanicBoundsB
1979	OpMIPSLoweredPanicBoundsC
1980	OpMIPSLoweredPanicExtendA
1981	OpMIPSLoweredPanicExtendB
1982	OpMIPSLoweredPanicExtendC
1983
1984	OpMIPS64ADDV
1985	OpMIPS64ADDVconst
1986	OpMIPS64SUBV
1987	OpMIPS64SUBVconst
1988	OpMIPS64MULV
1989	OpMIPS64MULVU
1990	OpMIPS64DIVV
1991	OpMIPS64DIVVU
1992	OpMIPS64ADDF
1993	OpMIPS64ADDD
1994	OpMIPS64SUBF
1995	OpMIPS64SUBD
1996	OpMIPS64MULF
1997	OpMIPS64MULD
1998	OpMIPS64DIVF
1999	OpMIPS64DIVD
2000	OpMIPS64AND
2001	OpMIPS64ANDconst
2002	OpMIPS64OR
2003	OpMIPS64ORconst
2004	OpMIPS64XOR
2005	OpMIPS64XORconst
2006	OpMIPS64NOR
2007	OpMIPS64NORconst
2008	OpMIPS64NEGV
2009	OpMIPS64NEGF
2010	OpMIPS64NEGD
2011	OpMIPS64ABSD
2012	OpMIPS64SQRTD
2013	OpMIPS64SQRTF
2014	OpMIPS64SLLV
2015	OpMIPS64SLLVconst
2016	OpMIPS64SRLV
2017	OpMIPS64SRLVconst
2018	OpMIPS64SRAV
2019	OpMIPS64SRAVconst
2020	OpMIPS64SGT
2021	OpMIPS64SGTconst
2022	OpMIPS64SGTU
2023	OpMIPS64SGTUconst
2024	OpMIPS64CMPEQF
2025	OpMIPS64CMPEQD
2026	OpMIPS64CMPGEF
2027	OpMIPS64CMPGED
2028	OpMIPS64CMPGTF
2029	OpMIPS64CMPGTD
2030	OpMIPS64MOVVconst
2031	OpMIPS64MOVFconst
2032	OpMIPS64MOVDconst
2033	OpMIPS64MOVVaddr
2034	OpMIPS64MOVBload
2035	OpMIPS64MOVBUload
2036	OpMIPS64MOVHload
2037	OpMIPS64MOVHUload
2038	OpMIPS64MOVWload
2039	OpMIPS64MOVWUload
2040	OpMIPS64MOVVload
2041	OpMIPS64MOVFload
2042	OpMIPS64MOVDload
2043	OpMIPS64MOVBstore
2044	OpMIPS64MOVHstore
2045	OpMIPS64MOVWstore
2046	OpMIPS64MOVVstore
2047	OpMIPS64MOVFstore
2048	OpMIPS64MOVDstore
2049	OpMIPS64MOVBstorezero
2050	OpMIPS64MOVHstorezero
2051	OpMIPS64MOVWstorezero
2052	OpMIPS64MOVVstorezero
2053	OpMIPS64MOVWfpgp
2054	OpMIPS64MOVWgpfp
2055	OpMIPS64MOVVfpgp
2056	OpMIPS64MOVVgpfp
2057	OpMIPS64MOVBreg
2058	OpMIPS64MOVBUreg
2059	OpMIPS64MOVHreg
2060	OpMIPS64MOVHUreg
2061	OpMIPS64MOVWreg
2062	OpMIPS64MOVWUreg
2063	OpMIPS64MOVVreg
2064	OpMIPS64MOVVnop
2065	OpMIPS64MOVWF
2066	OpMIPS64MOVWD
2067	OpMIPS64MOVVF
2068	OpMIPS64MOVVD
2069	OpMIPS64TRUNCFW
2070	OpMIPS64TRUNCDW
2071	OpMIPS64TRUNCFV
2072	OpMIPS64TRUNCDV
2073	OpMIPS64MOVFD
2074	OpMIPS64MOVDF
2075	OpMIPS64CALLstatic
2076	OpMIPS64CALLtail
2077	OpMIPS64CALLclosure
2078	OpMIPS64CALLinter
2079	OpMIPS64DUFFZERO
2080	OpMIPS64DUFFCOPY
2081	OpMIPS64LoweredZero
2082	OpMIPS64LoweredMove
2083	OpMIPS64LoweredAtomicAnd32
2084	OpMIPS64LoweredAtomicOr32
2085	OpMIPS64LoweredAtomicLoad8
2086	OpMIPS64LoweredAtomicLoad32
2087	OpMIPS64LoweredAtomicLoad64
2088	OpMIPS64LoweredAtomicStore8
2089	OpMIPS64LoweredAtomicStore32
2090	OpMIPS64LoweredAtomicStore64
2091	OpMIPS64LoweredAtomicStorezero32
2092	OpMIPS64LoweredAtomicStorezero64
2093	OpMIPS64LoweredAtomicExchange32
2094	OpMIPS64LoweredAtomicExchange64
2095	OpMIPS64LoweredAtomicAdd32
2096	OpMIPS64LoweredAtomicAdd64
2097	OpMIPS64LoweredAtomicAddconst32
2098	OpMIPS64LoweredAtomicAddconst64
2099	OpMIPS64LoweredAtomicCas32
2100	OpMIPS64LoweredAtomicCas64
2101	OpMIPS64LoweredNilCheck
2102	OpMIPS64FPFlagTrue
2103	OpMIPS64FPFlagFalse
2104	OpMIPS64LoweredGetClosurePtr
2105	OpMIPS64LoweredGetCallerSP
2106	OpMIPS64LoweredGetCallerPC
2107	OpMIPS64LoweredWB
2108	OpMIPS64LoweredPanicBoundsA
2109	OpMIPS64LoweredPanicBoundsB
2110	OpMIPS64LoweredPanicBoundsC
2111
2112	OpPPC64ADD
2113	OpPPC64ADDCC
2114	OpPPC64ADDconst
2115	OpPPC64ADDCCconst
2116	OpPPC64FADD
2117	OpPPC64FADDS
2118	OpPPC64SUB
2119	OpPPC64SUBCC
2120	OpPPC64SUBFCconst
2121	OpPPC64FSUB
2122	OpPPC64FSUBS
2123	OpPPC64XSMINJDP
2124	OpPPC64XSMAXJDP
2125	OpPPC64MULLD
2126	OpPPC64MULLW
2127	OpPPC64MULLDconst
2128	OpPPC64MULLWconst
2129	OpPPC64MADDLD
2130	OpPPC64MULHD
2131	OpPPC64MULHW
2132	OpPPC64MULHDU
2133	OpPPC64MULHWU
2134	OpPPC64FMUL
2135	OpPPC64FMULS
2136	OpPPC64FMADD
2137	OpPPC64FMADDS
2138	OpPPC64FMSUB
2139	OpPPC64FMSUBS
2140	OpPPC64SRAD
2141	OpPPC64SRAW
2142	OpPPC64SRD
2143	OpPPC64SRW
2144	OpPPC64SLD
2145	OpPPC64SLW
2146	OpPPC64ROTL
2147	OpPPC64ROTLW
2148	OpPPC64CLRLSLWI
2149	OpPPC64CLRLSLDI
2150	OpPPC64ADDC
2151	OpPPC64SUBC
2152	OpPPC64ADDCconst
2153	OpPPC64SUBCconst
2154	OpPPC64ADDE
2155	OpPPC64ADDZE
2156	OpPPC64SUBE
2157	OpPPC64ADDZEzero
2158	OpPPC64SUBZEzero
2159	OpPPC64SRADconst
2160	OpPPC64SRAWconst
2161	OpPPC64SRDconst
2162	OpPPC64SRWconst
2163	OpPPC64SLDconst
2164	OpPPC64SLWconst
2165	OpPPC64ROTLconst
2166	OpPPC64ROTLWconst
2167	OpPPC64EXTSWSLconst
2168	OpPPC64RLWINM
2169	OpPPC64RLWNM
2170	OpPPC64RLWMI
2171	OpPPC64RLDICL
2172	OpPPC64RLDICLCC
2173	OpPPC64RLDICR
2174	OpPPC64CNTLZD
2175	OpPPC64CNTLZDCC
2176	OpPPC64CNTLZW
2177	OpPPC64CNTTZD
2178	OpPPC64CNTTZW
2179	OpPPC64POPCNTD
2180	OpPPC64POPCNTW
2181	OpPPC64POPCNTB
2182	OpPPC64FDIV
2183	OpPPC64FDIVS
2184	OpPPC64DIVD
2185	OpPPC64DIVW
2186	OpPPC64DIVDU
2187	OpPPC64DIVWU
2188	OpPPC64MODUD
2189	OpPPC64MODSD
2190	OpPPC64MODUW
2191	OpPPC64MODSW
2192	OpPPC64FCTIDZ
2193	OpPPC64FCTIWZ
2194	OpPPC64FCFID
2195	OpPPC64FCFIDS
2196	OpPPC64FRSP
2197	OpPPC64MFVSRD
2198	OpPPC64MTVSRD
2199	OpPPC64AND
2200	OpPPC64ANDN
2201	OpPPC64ANDNCC
2202	OpPPC64ANDCC
2203	OpPPC64OR
2204	OpPPC64ORN
2205	OpPPC64ORCC
2206	OpPPC64NOR
2207	OpPPC64NORCC
2208	OpPPC64XOR
2209	OpPPC64XORCC
2210	OpPPC64EQV
2211	OpPPC64NEG
2212	OpPPC64NEGCC
2213	OpPPC64BRD
2214	OpPPC64BRW
2215	OpPPC64BRH
2216	OpPPC64FNEG
2217	OpPPC64FSQRT
2218	OpPPC64FSQRTS
2219	OpPPC64FFLOOR
2220	OpPPC64FCEIL
2221	OpPPC64FTRUNC
2222	OpPPC64FROUND
2223	OpPPC64FABS
2224	OpPPC64FNABS
2225	OpPPC64FCPSGN
2226	OpPPC64ORconst
2227	OpPPC64XORconst
2228	OpPPC64ANDCCconst
2229	OpPPC64ANDconst
2230	OpPPC64MOVBreg
2231	OpPPC64MOVBZreg
2232	OpPPC64MOVHreg
2233	OpPPC64MOVHZreg
2234	OpPPC64MOVWreg
2235	OpPPC64MOVWZreg
2236	OpPPC64MOVBZload
2237	OpPPC64MOVHload
2238	OpPPC64MOVHZload
2239	OpPPC64MOVWload
2240	OpPPC64MOVWZload
2241	OpPPC64MOVDload
2242	OpPPC64MOVDBRload
2243	OpPPC64MOVWBRload
2244	OpPPC64MOVHBRload
2245	OpPPC64MOVBZloadidx
2246	OpPPC64MOVHloadidx
2247	OpPPC64MOVHZloadidx
2248	OpPPC64MOVWloadidx
2249	OpPPC64MOVWZloadidx
2250	OpPPC64MOVDloadidx
2251	OpPPC64MOVHBRloadidx
2252	OpPPC64MOVWBRloadidx
2253	OpPPC64MOVDBRloadidx
2254	OpPPC64FMOVDloadidx
2255	OpPPC64FMOVSloadidx
2256	OpPPC64DCBT
2257	OpPPC64MOVDBRstore
2258	OpPPC64MOVWBRstore
2259	OpPPC64MOVHBRstore
2260	OpPPC64FMOVDload
2261	OpPPC64FMOVSload
2262	OpPPC64MOVBstore
2263	OpPPC64MOVHstore
2264	OpPPC64MOVWstore
2265	OpPPC64MOVDstore
2266	OpPPC64FMOVDstore
2267	OpPPC64FMOVSstore
2268	OpPPC64MOVBstoreidx
2269	OpPPC64MOVHstoreidx
2270	OpPPC64MOVWstoreidx
2271	OpPPC64MOVDstoreidx
2272	OpPPC64FMOVDstoreidx
2273	OpPPC64FMOVSstoreidx
2274	OpPPC64MOVHBRstoreidx
2275	OpPPC64MOVWBRstoreidx
2276	OpPPC64MOVDBRstoreidx
2277	OpPPC64MOVBstorezero
2278	OpPPC64MOVHstorezero
2279	OpPPC64MOVWstorezero
2280	OpPPC64MOVDstorezero
2281	OpPPC64MOVDaddr
2282	OpPPC64MOVDconst
2283	OpPPC64FMOVDconst
2284	OpPPC64FMOVSconst
2285	OpPPC64FCMPU
2286	OpPPC64CMP
2287	OpPPC64CMPU
2288	OpPPC64CMPW
2289	OpPPC64CMPWU
2290	OpPPC64CMPconst
2291	OpPPC64CMPUconst
2292	OpPPC64CMPWconst
2293	OpPPC64CMPWUconst
2294	OpPPC64ISEL
2295	OpPPC64ISELZ
2296	OpPPC64SETBC
2297	OpPPC64SETBCR
2298	OpPPC64Equal
2299	OpPPC64NotEqual
2300	OpPPC64LessThan
2301	OpPPC64FLessThan
2302	OpPPC64LessEqual
2303	OpPPC64FLessEqual
2304	OpPPC64GreaterThan
2305	OpPPC64FGreaterThan
2306	OpPPC64GreaterEqual
2307	OpPPC64FGreaterEqual
2308	OpPPC64LoweredGetClosurePtr
2309	OpPPC64LoweredGetCallerSP
2310	OpPPC64LoweredGetCallerPC
2311	OpPPC64LoweredNilCheck
2312	OpPPC64LoweredRound32F
2313	OpPPC64LoweredRound64F
2314	OpPPC64CALLstatic
2315	OpPPC64CALLtail
2316	OpPPC64CALLclosure
2317	OpPPC64CALLinter
2318	OpPPC64LoweredZero
2319	OpPPC64LoweredZeroShort
2320	OpPPC64LoweredQuadZeroShort
2321	OpPPC64LoweredQuadZero
2322	OpPPC64LoweredMove
2323	OpPPC64LoweredMoveShort
2324	OpPPC64LoweredQuadMove
2325	OpPPC64LoweredQuadMoveShort
2326	OpPPC64LoweredAtomicStore8
2327	OpPPC64LoweredAtomicStore32
2328	OpPPC64LoweredAtomicStore64
2329	OpPPC64LoweredAtomicLoad8
2330	OpPPC64LoweredAtomicLoad32
2331	OpPPC64LoweredAtomicLoad64
2332	OpPPC64LoweredAtomicLoadPtr
2333	OpPPC64LoweredAtomicAdd32
2334	OpPPC64LoweredAtomicAdd64
2335	OpPPC64LoweredAtomicExchange32
2336	OpPPC64LoweredAtomicExchange64
2337	OpPPC64LoweredAtomicCas64
2338	OpPPC64LoweredAtomicCas32
2339	OpPPC64LoweredAtomicAnd8
2340	OpPPC64LoweredAtomicAnd32
2341	OpPPC64LoweredAtomicOr8
2342	OpPPC64LoweredAtomicOr32
2343	OpPPC64LoweredWB
2344	OpPPC64LoweredPubBarrier
2345	OpPPC64LoweredPanicBoundsA
2346	OpPPC64LoweredPanicBoundsB
2347	OpPPC64LoweredPanicBoundsC
2348	OpPPC64InvertFlags
2349	OpPPC64FlagEQ
2350	OpPPC64FlagLT
2351	OpPPC64FlagGT
2352
2353	OpRISCV64ADD
2354	OpRISCV64ADDI
2355	OpRISCV64ADDIW
2356	OpRISCV64NEG
2357	OpRISCV64NEGW
2358	OpRISCV64SUB
2359	OpRISCV64SUBW
2360	OpRISCV64MUL
2361	OpRISCV64MULW
2362	OpRISCV64MULH
2363	OpRISCV64MULHU
2364	OpRISCV64LoweredMuluhilo
2365	OpRISCV64LoweredMuluover
2366	OpRISCV64DIV
2367	OpRISCV64DIVU
2368	OpRISCV64DIVW
2369	OpRISCV64DIVUW
2370	OpRISCV64REM
2371	OpRISCV64REMU
2372	OpRISCV64REMW
2373	OpRISCV64REMUW
2374	OpRISCV64MOVaddr
2375	OpRISCV64MOVDconst
2376	OpRISCV64MOVBload
2377	OpRISCV64MOVHload
2378	OpRISCV64MOVWload
2379	OpRISCV64MOVDload
2380	OpRISCV64MOVBUload
2381	OpRISCV64MOVHUload
2382	OpRISCV64MOVWUload
2383	OpRISCV64MOVBstore
2384	OpRISCV64MOVHstore
2385	OpRISCV64MOVWstore
2386	OpRISCV64MOVDstore
2387	OpRISCV64MOVBstorezero
2388	OpRISCV64MOVHstorezero
2389	OpRISCV64MOVWstorezero
2390	OpRISCV64MOVDstorezero
2391	OpRISCV64MOVBreg
2392	OpRISCV64MOVHreg
2393	OpRISCV64MOVWreg
2394	OpRISCV64MOVDreg
2395	OpRISCV64MOVBUreg
2396	OpRISCV64MOVHUreg
2397	OpRISCV64MOVWUreg
2398	OpRISCV64MOVDnop
2399	OpRISCV64SLL
2400	OpRISCV64SLLW
2401	OpRISCV64SRA
2402	OpRISCV64SRAW
2403	OpRISCV64SRL
2404	OpRISCV64SRLW
2405	OpRISCV64SLLI
2406	OpRISCV64SLLIW
2407	OpRISCV64SRAI
2408	OpRISCV64SRAIW
2409	OpRISCV64SRLI
2410	OpRISCV64SRLIW
2411	OpRISCV64AND
2412	OpRISCV64ANDI
2413	OpRISCV64NOT
2414	OpRISCV64OR
2415	OpRISCV64ORI
2416	OpRISCV64ROL
2417	OpRISCV64ROLW
2418	OpRISCV64ROR
2419	OpRISCV64RORI
2420	OpRISCV64RORIW
2421	OpRISCV64RORW
2422	OpRISCV64XOR
2423	OpRISCV64XORI
2424	OpRISCV64SEQZ
2425	OpRISCV64SNEZ
2426	OpRISCV64SLT
2427	OpRISCV64SLTI
2428	OpRISCV64SLTU
2429	OpRISCV64SLTIU
2430	OpRISCV64LoweredRound32F
2431	OpRISCV64LoweredRound64F
2432	OpRISCV64CALLstatic
2433	OpRISCV64CALLtail
2434	OpRISCV64CALLclosure
2435	OpRISCV64CALLinter
2436	OpRISCV64DUFFZERO
2437	OpRISCV64DUFFCOPY
2438	OpRISCV64LoweredZero
2439	OpRISCV64LoweredMove
2440	OpRISCV64LoweredAtomicLoad8
2441	OpRISCV64LoweredAtomicLoad32
2442	OpRISCV64LoweredAtomicLoad64
2443	OpRISCV64LoweredAtomicStore8
2444	OpRISCV64LoweredAtomicStore32
2445	OpRISCV64LoweredAtomicStore64
2446	OpRISCV64LoweredAtomicExchange32
2447	OpRISCV64LoweredAtomicExchange64
2448	OpRISCV64LoweredAtomicAdd32
2449	OpRISCV64LoweredAtomicAdd64
2450	OpRISCV64LoweredAtomicCas32
2451	OpRISCV64LoweredAtomicCas64
2452	OpRISCV64LoweredAtomicAnd32
2453	OpRISCV64LoweredAtomicOr32
2454	OpRISCV64LoweredNilCheck
2455	OpRISCV64LoweredGetClosurePtr
2456	OpRISCV64LoweredGetCallerSP
2457	OpRISCV64LoweredGetCallerPC
2458	OpRISCV64LoweredWB
2459	OpRISCV64LoweredPubBarrier
2460	OpRISCV64LoweredPanicBoundsA
2461	OpRISCV64LoweredPanicBoundsB
2462	OpRISCV64LoweredPanicBoundsC
2463	OpRISCV64FADDS
2464	OpRISCV64FSUBS
2465	OpRISCV64FMULS
2466	OpRISCV64FDIVS
2467	OpRISCV64FMADDS
2468	OpRISCV64FMSUBS
2469	OpRISCV64FNMADDS
2470	OpRISCV64FNMSUBS
2471	OpRISCV64FSQRTS
2472	OpRISCV64FNEGS
2473	OpRISCV64FMVSX
2474	OpRISCV64FCVTSW
2475	OpRISCV64FCVTSL
2476	OpRISCV64FCVTWS
2477	OpRISCV64FCVTLS
2478	OpRISCV64FMOVWload
2479	OpRISCV64FMOVWstore
2480	OpRISCV64FEQS
2481	OpRISCV64FNES
2482	OpRISCV64FLTS
2483	OpRISCV64FLES
2484	OpRISCV64LoweredFMAXS
2485	OpRISCV64LoweredFMINS
2486	OpRISCV64FADDD
2487	OpRISCV64FSUBD
2488	OpRISCV64FMULD
2489	OpRISCV64FDIVD
2490	OpRISCV64FMADDD
2491	OpRISCV64FMSUBD
2492	OpRISCV64FNMADDD
2493	OpRISCV64FNMSUBD
2494	OpRISCV64FSQRTD
2495	OpRISCV64FNEGD
2496	OpRISCV64FABSD
2497	OpRISCV64FSGNJD
2498	OpRISCV64FMVDX
2499	OpRISCV64FCVTDW
2500	OpRISCV64FCVTDL
2501	OpRISCV64FCVTWD
2502	OpRISCV64FCVTLD
2503	OpRISCV64FCVTDS
2504	OpRISCV64FCVTSD
2505	OpRISCV64FMOVDload
2506	OpRISCV64FMOVDstore
2507	OpRISCV64FEQD
2508	OpRISCV64FNED
2509	OpRISCV64FLTD
2510	OpRISCV64FLED
2511	OpRISCV64LoweredFMIND
2512	OpRISCV64LoweredFMAXD
2513
2514	OpS390XFADDS
2515	OpS390XFADD
2516	OpS390XFSUBS
2517	OpS390XFSUB
2518	OpS390XFMULS
2519	OpS390XFMUL
2520	OpS390XFDIVS
2521	OpS390XFDIV
2522	OpS390XFNEGS
2523	OpS390XFNEG
2524	OpS390XFMADDS
2525	OpS390XFMADD
2526	OpS390XFMSUBS
2527	OpS390XFMSUB
2528	OpS390XLPDFR
2529	OpS390XLNDFR
2530	OpS390XCPSDR
2531	OpS390XFIDBR
2532	OpS390XFMOVSload
2533	OpS390XFMOVDload
2534	OpS390XFMOVSconst
2535	OpS390XFMOVDconst
2536	OpS390XFMOVSloadidx
2537	OpS390XFMOVDloadidx
2538	OpS390XFMOVSstore
2539	OpS390XFMOVDstore
2540	OpS390XFMOVSstoreidx
2541	OpS390XFMOVDstoreidx
2542	OpS390XADD
2543	OpS390XADDW
2544	OpS390XADDconst
2545	OpS390XADDWconst
2546	OpS390XADDload
2547	OpS390XADDWload
2548	OpS390XSUB
2549	OpS390XSUBW
2550	OpS390XSUBconst
2551	OpS390XSUBWconst
2552	OpS390XSUBload
2553	OpS390XSUBWload
2554	OpS390XMULLD
2555	OpS390XMULLW
2556	OpS390XMULLDconst
2557	OpS390XMULLWconst
2558	OpS390XMULLDload
2559	OpS390XMULLWload
2560	OpS390XMULHD
2561	OpS390XMULHDU
2562	OpS390XDIVD
2563	OpS390XDIVW
2564	OpS390XDIVDU
2565	OpS390XDIVWU
2566	OpS390XMODD
2567	OpS390XMODW
2568	OpS390XMODDU
2569	OpS390XMODWU
2570	OpS390XAND
2571	OpS390XANDW
2572	OpS390XANDconst
2573	OpS390XANDWconst
2574	OpS390XANDload
2575	OpS390XANDWload
2576	OpS390XOR
2577	OpS390XORW
2578	OpS390XORconst
2579	OpS390XORWconst
2580	OpS390XORload
2581	OpS390XORWload
2582	OpS390XXOR
2583	OpS390XXORW
2584	OpS390XXORconst
2585	OpS390XXORWconst
2586	OpS390XXORload
2587	OpS390XXORWload
2588	OpS390XADDC
2589	OpS390XADDCconst
2590	OpS390XADDE
2591	OpS390XSUBC
2592	OpS390XSUBE
2593	OpS390XCMP
2594	OpS390XCMPW
2595	OpS390XCMPU
2596	OpS390XCMPWU
2597	OpS390XCMPconst
2598	OpS390XCMPWconst
2599	OpS390XCMPUconst
2600	OpS390XCMPWUconst
2601	OpS390XFCMPS
2602	OpS390XFCMP
2603	OpS390XLTDBR
2604	OpS390XLTEBR
2605	OpS390XSLD
2606	OpS390XSLW
2607	OpS390XSLDconst
2608	OpS390XSLWconst
2609	OpS390XSRD
2610	OpS390XSRW
2611	OpS390XSRDconst
2612	OpS390XSRWconst
2613	OpS390XSRAD
2614	OpS390XSRAW
2615	OpS390XSRADconst
2616	OpS390XSRAWconst
2617	OpS390XRLLG
2618	OpS390XRLL
2619	OpS390XRLLconst
2620	OpS390XRXSBG
2621	OpS390XRISBGZ
2622	OpS390XNEG
2623	OpS390XNEGW
2624	OpS390XNOT
2625	OpS390XNOTW
2626	OpS390XFSQRT
2627	OpS390XFSQRTS
2628	OpS390XLOCGR
2629	OpS390XMOVBreg
2630	OpS390XMOVBZreg
2631	OpS390XMOVHreg
2632	OpS390XMOVHZreg
2633	OpS390XMOVWreg
2634	OpS390XMOVWZreg
2635	OpS390XMOVDconst
2636	OpS390XLDGR
2637	OpS390XLGDR
2638	OpS390XCFDBRA
2639	OpS390XCGDBRA
2640	OpS390XCFEBRA
2641	OpS390XCGEBRA
2642	OpS390XCEFBRA
2643	OpS390XCDFBRA
2644	OpS390XCEGBRA
2645	OpS390XCDGBRA
2646	OpS390XCLFEBR
2647	OpS390XCLFDBR
2648	OpS390XCLGEBR
2649	OpS390XCLGDBR
2650	OpS390XCELFBR
2651	OpS390XCDLFBR
2652	OpS390XCELGBR
2653	OpS390XCDLGBR
2654	OpS390XLEDBR
2655	OpS390XLDEBR
2656	OpS390XMOVDaddr
2657	OpS390XMOVDaddridx
2658	OpS390XMOVBZload
2659	OpS390XMOVBload
2660	OpS390XMOVHZload
2661	OpS390XMOVHload
2662	OpS390XMOVWZload
2663	OpS390XMOVWload
2664	OpS390XMOVDload
2665	OpS390XMOVWBR
2666	OpS390XMOVDBR
2667	OpS390XMOVHBRload
2668	OpS390XMOVWBRload
2669	OpS390XMOVDBRload
2670	OpS390XMOVBstore
2671	OpS390XMOVHstore
2672	OpS390XMOVWstore
2673	OpS390XMOVDstore
2674	OpS390XMOVHBRstore
2675	OpS390XMOVWBRstore
2676	OpS390XMOVDBRstore
2677	OpS390XMVC
2678	OpS390XMOVBZloadidx
2679	OpS390XMOVBloadidx
2680	OpS390XMOVHZloadidx
2681	OpS390XMOVHloadidx
2682	OpS390XMOVWZloadidx
2683	OpS390XMOVWloadidx
2684	OpS390XMOVDloadidx
2685	OpS390XMOVHBRloadidx
2686	OpS390XMOVWBRloadidx
2687	OpS390XMOVDBRloadidx
2688	OpS390XMOVBstoreidx
2689	OpS390XMOVHstoreidx
2690	OpS390XMOVWstoreidx
2691	OpS390XMOVDstoreidx
2692	OpS390XMOVHBRstoreidx
2693	OpS390XMOVWBRstoreidx
2694	OpS390XMOVDBRstoreidx
2695	OpS390XMOVBstoreconst
2696	OpS390XMOVHstoreconst
2697	OpS390XMOVWstoreconst
2698	OpS390XMOVDstoreconst
2699	OpS390XCLEAR
2700	OpS390XCALLstatic
2701	OpS390XCALLtail
2702	OpS390XCALLclosure
2703	OpS390XCALLinter
2704	OpS390XInvertFlags
2705	OpS390XLoweredGetG
2706	OpS390XLoweredGetClosurePtr
2707	OpS390XLoweredGetCallerSP
2708	OpS390XLoweredGetCallerPC
2709	OpS390XLoweredNilCheck
2710	OpS390XLoweredRound32F
2711	OpS390XLoweredRound64F
2712	OpS390XLoweredWB
2713	OpS390XLoweredPanicBoundsA
2714	OpS390XLoweredPanicBoundsB
2715	OpS390XLoweredPanicBoundsC
2716	OpS390XFlagEQ
2717	OpS390XFlagLT
2718	OpS390XFlagGT
2719	OpS390XFlagOV
2720	OpS390XSYNC
2721	OpS390XMOVBZatomicload
2722	OpS390XMOVWZatomicload
2723	OpS390XMOVDatomicload
2724	OpS390XMOVBatomicstore
2725	OpS390XMOVWatomicstore
2726	OpS390XMOVDatomicstore
2727	OpS390XLAA
2728	OpS390XLAAG
2729	OpS390XAddTupleFirst32
2730	OpS390XAddTupleFirst64
2731	OpS390XLAN
2732	OpS390XLANfloor
2733	OpS390XLAO
2734	OpS390XLAOfloor
2735	OpS390XLoweredAtomicCas32
2736	OpS390XLoweredAtomicCas64
2737	OpS390XLoweredAtomicExchange32
2738	OpS390XLoweredAtomicExchange64
2739	OpS390XFLOGR
2740	OpS390XPOPCNT
2741	OpS390XMLGR
2742	OpS390XSumBytes2
2743	OpS390XSumBytes4
2744	OpS390XSumBytes8
2745	OpS390XSTMG2
2746	OpS390XSTMG3
2747	OpS390XSTMG4
2748	OpS390XSTM2
2749	OpS390XSTM3
2750	OpS390XSTM4
2751	OpS390XLoweredMove
2752	OpS390XLoweredZero
2753
2754	OpWasmLoweredStaticCall
2755	OpWasmLoweredTailCall
2756	OpWasmLoweredClosureCall
2757	OpWasmLoweredInterCall
2758	OpWasmLoweredAddr
2759	OpWasmLoweredMove
2760	OpWasmLoweredZero
2761	OpWasmLoweredGetClosurePtr
2762	OpWasmLoweredGetCallerPC
2763	OpWasmLoweredGetCallerSP
2764	OpWasmLoweredNilCheck
2765	OpWasmLoweredWB
2766	OpWasmLoweredConvert
2767	OpWasmSelect
2768	OpWasmI64Load8U
2769	OpWasmI64Load8S
2770	OpWasmI64Load16U
2771	OpWasmI64Load16S
2772	OpWasmI64Load32U
2773	OpWasmI64Load32S
2774	OpWasmI64Load
2775	OpWasmI64Store8
2776	OpWasmI64Store16
2777	OpWasmI64Store32
2778	OpWasmI64Store
2779	OpWasmF32Load
2780	OpWasmF64Load
2781	OpWasmF32Store
2782	OpWasmF64Store
2783	OpWasmI64Const
2784	OpWasmF32Const
2785	OpWasmF64Const
2786	OpWasmI64Eqz
2787	OpWasmI64Eq
2788	OpWasmI64Ne
2789	OpWasmI64LtS
2790	OpWasmI64LtU
2791	OpWasmI64GtS
2792	OpWasmI64GtU
2793	OpWasmI64LeS
2794	OpWasmI64LeU
2795	OpWasmI64GeS
2796	OpWasmI64GeU
2797	OpWasmF32Eq
2798	OpWasmF32Ne
2799	OpWasmF32Lt
2800	OpWasmF32Gt
2801	OpWasmF32Le
2802	OpWasmF32Ge
2803	OpWasmF64Eq
2804	OpWasmF64Ne
2805	OpWasmF64Lt
2806	OpWasmF64Gt
2807	OpWasmF64Le
2808	OpWasmF64Ge
2809	OpWasmI64Add
2810	OpWasmI64AddConst
2811	OpWasmI64Sub
2812	OpWasmI64Mul
2813	OpWasmI64DivS
2814	OpWasmI64DivU
2815	OpWasmI64RemS
2816	OpWasmI64RemU
2817	OpWasmI64And
2818	OpWasmI64Or
2819	OpWasmI64Xor
2820	OpWasmI64Shl
2821	OpWasmI64ShrS
2822	OpWasmI64ShrU
2823	OpWasmF32Neg
2824	OpWasmF32Add
2825	OpWasmF32Sub
2826	OpWasmF32Mul
2827	OpWasmF32Div
2828	OpWasmF64Neg
2829	OpWasmF64Add
2830	OpWasmF64Sub
2831	OpWasmF64Mul
2832	OpWasmF64Div
2833	OpWasmI64TruncSatF64S
2834	OpWasmI64TruncSatF64U
2835	OpWasmI64TruncSatF32S
2836	OpWasmI64TruncSatF32U
2837	OpWasmF32ConvertI64S
2838	OpWasmF32ConvertI64U
2839	OpWasmF64ConvertI64S
2840	OpWasmF64ConvertI64U
2841	OpWasmF32DemoteF64
2842	OpWasmF64PromoteF32
2843	OpWasmI64Extend8S
2844	OpWasmI64Extend16S
2845	OpWasmI64Extend32S
2846	OpWasmF32Sqrt
2847	OpWasmF32Trunc
2848	OpWasmF32Ceil
2849	OpWasmF32Floor
2850	OpWasmF32Nearest
2851	OpWasmF32Abs
2852	OpWasmF32Copysign
2853	OpWasmF64Sqrt
2854	OpWasmF64Trunc
2855	OpWasmF64Ceil
2856	OpWasmF64Floor
2857	OpWasmF64Nearest
2858	OpWasmF64Abs
2859	OpWasmF64Copysign
2860	OpWasmI64Ctz
2861	OpWasmI64Clz
2862	OpWasmI32Rotl
2863	OpWasmI64Rotl
2864	OpWasmI64Popcnt
2865
2866	OpAdd8
2867	OpAdd16
2868	OpAdd32
2869	OpAdd64
2870	OpAddPtr
2871	OpAdd32F
2872	OpAdd64F
2873	OpSub8
2874	OpSub16
2875	OpSub32
2876	OpSub64
2877	OpSubPtr
2878	OpSub32F
2879	OpSub64F
2880	OpMul8
2881	OpMul16
2882	OpMul32
2883	OpMul64
2884	OpMul32F
2885	OpMul64F
2886	OpDiv32F
2887	OpDiv64F
2888	OpHmul32
2889	OpHmul32u
2890	OpHmul64
2891	OpHmul64u
2892	OpMul32uhilo
2893	OpMul64uhilo
2894	OpMul32uover
2895	OpMul64uover
2896	OpAvg32u
2897	OpAvg64u
2898	OpDiv8
2899	OpDiv8u
2900	OpDiv16
2901	OpDiv16u
2902	OpDiv32
2903	OpDiv32u
2904	OpDiv64
2905	OpDiv64u
2906	OpDiv128u
2907	OpMod8
2908	OpMod8u
2909	OpMod16
2910	OpMod16u
2911	OpMod32
2912	OpMod32u
2913	OpMod64
2914	OpMod64u
2915	OpAnd8
2916	OpAnd16
2917	OpAnd32
2918	OpAnd64
2919	OpOr8
2920	OpOr16
2921	OpOr32
2922	OpOr64
2923	OpXor8
2924	OpXor16
2925	OpXor32
2926	OpXor64
2927	OpLsh8x8
2928	OpLsh8x16
2929	OpLsh8x32
2930	OpLsh8x64
2931	OpLsh16x8
2932	OpLsh16x16
2933	OpLsh16x32
2934	OpLsh16x64
2935	OpLsh32x8
2936	OpLsh32x16
2937	OpLsh32x32
2938	OpLsh32x64
2939	OpLsh64x8
2940	OpLsh64x16
2941	OpLsh64x32
2942	OpLsh64x64
2943	OpRsh8x8
2944	OpRsh8x16
2945	OpRsh8x32
2946	OpRsh8x64
2947	OpRsh16x8
2948	OpRsh16x16
2949	OpRsh16x32
2950	OpRsh16x64
2951	OpRsh32x8
2952	OpRsh32x16
2953	OpRsh32x32
2954	OpRsh32x64
2955	OpRsh64x8
2956	OpRsh64x16
2957	OpRsh64x32
2958	OpRsh64x64
2959	OpRsh8Ux8
2960	OpRsh8Ux16
2961	OpRsh8Ux32
2962	OpRsh8Ux64
2963	OpRsh16Ux8
2964	OpRsh16Ux16
2965	OpRsh16Ux32
2966	OpRsh16Ux64
2967	OpRsh32Ux8
2968	OpRsh32Ux16
2969	OpRsh32Ux32
2970	OpRsh32Ux64
2971	OpRsh64Ux8
2972	OpRsh64Ux16
2973	OpRsh64Ux32
2974	OpRsh64Ux64
2975	OpEq8
2976	OpEq16
2977	OpEq32
2978	OpEq64
2979	OpEqPtr
2980	OpEqInter
2981	OpEqSlice
2982	OpEq32F
2983	OpEq64F
2984	OpNeq8
2985	OpNeq16
2986	OpNeq32
2987	OpNeq64
2988	OpNeqPtr
2989	OpNeqInter
2990	OpNeqSlice
2991	OpNeq32F
2992	OpNeq64F
2993	OpLess8
2994	OpLess8U
2995	OpLess16
2996	OpLess16U
2997	OpLess32
2998	OpLess32U
2999	OpLess64
3000	OpLess64U
3001	OpLess32F
3002	OpLess64F
3003	OpLeq8
3004	OpLeq8U
3005	OpLeq16
3006	OpLeq16U
3007	OpLeq32
3008	OpLeq32U
3009	OpLeq64
3010	OpLeq64U
3011	OpLeq32F
3012	OpLeq64F
3013	OpCondSelect
3014	OpAndB
3015	OpOrB
3016	OpEqB
3017	OpNeqB
3018	OpNot
3019	OpNeg8
3020	OpNeg16
3021	OpNeg32
3022	OpNeg64
3023	OpNeg32F
3024	OpNeg64F
3025	OpCom8
3026	OpCom16
3027	OpCom32
3028	OpCom64
3029	OpCtz8
3030	OpCtz16
3031	OpCtz32
3032	OpCtz64
3033	OpCtz8NonZero
3034	OpCtz16NonZero
3035	OpCtz32NonZero
3036	OpCtz64NonZero
3037	OpBitLen8
3038	OpBitLen16
3039	OpBitLen32
3040	OpBitLen64
3041	OpBswap16
3042	OpBswap32
3043	OpBswap64
3044	OpBitRev8
3045	OpBitRev16
3046	OpBitRev32
3047	OpBitRev64
3048	OpPopCount8
3049	OpPopCount16
3050	OpPopCount32
3051	OpPopCount64
3052	OpRotateLeft64
3053	OpRotateLeft32
3054	OpRotateLeft16
3055	OpRotateLeft8
3056	OpSqrt
3057	OpSqrt32
3058	OpFloor
3059	OpCeil
3060	OpTrunc
3061	OpRound
3062	OpRoundToEven
3063	OpAbs
3064	OpCopysign
3065	OpMin64F
3066	OpMin32F
3067	OpMax64F
3068	OpMax32F
3069	OpFMA
3070	OpPhi
3071	OpCopy
3072	OpConvert
3073	OpConstBool
3074	OpConstString
3075	OpConstNil
3076	OpConst8
3077	OpConst16
3078	OpConst32
3079	OpConst64
3080	OpConst32F
3081	OpConst64F
3082	OpConstInterface
3083	OpConstSlice
3084	OpInitMem
3085	OpArg
3086	OpArgIntReg
3087	OpArgFloatReg
3088	OpAddr
3089	OpLocalAddr
3090	OpSP
3091	OpSB
3092	OpSPanchored
3093	OpLoad
3094	OpDereference
3095	OpStore
3096	OpMove
3097	OpZero
3098	OpStoreWB
3099	OpMoveWB
3100	OpZeroWB
3101	OpWBend
3102	OpWB
3103	OpHasCPUFeature
3104	OpPanicBounds
3105	OpPanicExtend
3106	OpClosureCall
3107	OpStaticCall
3108	OpInterCall
3109	OpTailCall
3110	OpClosureLECall
3111	OpStaticLECall
3112	OpInterLECall
3113	OpTailLECall
3114	OpSignExt8to16
3115	OpSignExt8to32
3116	OpSignExt8to64
3117	OpSignExt16to32
3118	OpSignExt16to64
3119	OpSignExt32to64
3120	OpZeroExt8to16
3121	OpZeroExt8to32
3122	OpZeroExt8to64
3123	OpZeroExt16to32
3124	OpZeroExt16to64
3125	OpZeroExt32to64
3126	OpTrunc16to8
3127	OpTrunc32to8
3128	OpTrunc32to16
3129	OpTrunc64to8
3130	OpTrunc64to16
3131	OpTrunc64to32
3132	OpCvt32to32F
3133	OpCvt32to64F
3134	OpCvt64to32F
3135	OpCvt64to64F
3136	OpCvt32Fto32
3137	OpCvt32Fto64
3138	OpCvt64Fto32
3139	OpCvt64Fto64
3140	OpCvt32Fto64F
3141	OpCvt64Fto32F
3142	OpCvtBoolToUint8
3143	OpRound32F
3144	OpRound64F
3145	OpIsNonNil
3146	OpIsInBounds
3147	OpIsSliceInBounds
3148	OpNilCheck
3149	OpGetG
3150	OpGetClosurePtr
3151	OpGetCallerPC
3152	OpGetCallerSP
3153	OpPtrIndex
3154	OpOffPtr
3155	OpSliceMake
3156	OpSlicePtr
3157	OpSliceLen
3158	OpSliceCap
3159	OpSlicePtrUnchecked
3160	OpComplexMake
3161	OpComplexReal
3162	OpComplexImag
3163	OpStringMake
3164	OpStringPtr
3165	OpStringLen
3166	OpIMake
3167	OpITab
3168	OpIData
3169	OpStructMake0
3170	OpStructMake1
3171	OpStructMake2
3172	OpStructMake3
3173	OpStructMake4
3174	OpStructSelect
3175	OpArrayMake0
3176	OpArrayMake1
3177	OpArraySelect
3178	OpStoreReg
3179	OpLoadReg
3180	OpFwdRef
3181	OpUnknown
3182	OpVarDef
3183	OpVarLive
3184	OpKeepAlive
3185	OpInlMark
3186	OpInt64Make
3187	OpInt64Hi
3188	OpInt64Lo
3189	OpAdd32carry
3190	OpAdd32withcarry
3191	OpSub32carry
3192	OpSub32withcarry
3193	OpAdd64carry
3194	OpSub64borrow
3195	OpSignmask
3196	OpZeromask
3197	OpSlicemask
3198	OpSpectreIndex
3199	OpSpectreSliceIndex
3200	OpCvt32Uto32F
3201	OpCvt32Uto64F
3202	OpCvt32Fto32U
3203	OpCvt64Fto32U
3204	OpCvt64Uto32F
3205	OpCvt64Uto64F
3206	OpCvt32Fto64U
3207	OpCvt64Fto64U
3208	OpSelect0
3209	OpSelect1
3210	OpSelectN
3211	OpSelectNAddr
3212	OpMakeResult
3213	OpAtomicLoad8
3214	OpAtomicLoad32
3215	OpAtomicLoad64
3216	OpAtomicLoadPtr
3217	OpAtomicLoadAcq32
3218	OpAtomicLoadAcq64
3219	OpAtomicStore8
3220	OpAtomicStore32
3221	OpAtomicStore64
3222	OpAtomicStorePtrNoWB
3223	OpAtomicStoreRel32
3224	OpAtomicStoreRel64
3225	OpAtomicExchange32
3226	OpAtomicExchange64
3227	OpAtomicAdd32
3228	OpAtomicAdd64
3229	OpAtomicCompareAndSwap32
3230	OpAtomicCompareAndSwap64
3231	OpAtomicCompareAndSwapRel32
3232	OpAtomicAnd8
3233	OpAtomicOr8
3234	OpAtomicAnd64
3235	OpAtomicAnd32
3236	OpAtomicOr64
3237	OpAtomicOr32
3238	OpAtomicAdd32Variant
3239	OpAtomicAdd64Variant
3240	OpAtomicExchange32Variant
3241	OpAtomicExchange64Variant
3242	OpAtomicCompareAndSwap32Variant
3243	OpAtomicCompareAndSwap64Variant
3244	OpAtomicAnd8Variant
3245	OpAtomicOr8Variant
3246	OpAtomicAnd64Variant
3247	OpAtomicOr64Variant
3248	OpAtomicAnd32Variant
3249	OpAtomicOr32Variant
3250	OpPubBarrier
3251	OpClobber
3252	OpClobberReg
3253	OpPrefetchCache
3254	OpPrefetchCacheStreamed
3255)
3256
3257var opcodeTable = [...]opInfo{
3258	{name: "OpInvalid"},
3259
3260	{
3261		name:         "ADDSS",
3262		argLen:       2,
3263		commutative:  true,
3264		resultInArg0: true,
3265		asm:          x86.AADDSS,
3266		reg: regInfo{
3267			inputs: []inputInfo{
3268				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3269				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3270			},
3271			outputs: []outputInfo{
3272				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3273			},
3274		},
3275	},
3276	{
3277		name:         "ADDSD",
3278		argLen:       2,
3279		commutative:  true,
3280		resultInArg0: true,
3281		asm:          x86.AADDSD,
3282		reg: regInfo{
3283			inputs: []inputInfo{
3284				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3285				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3286			},
3287			outputs: []outputInfo{
3288				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3289			},
3290		},
3291	},
3292	{
3293		name:         "SUBSS",
3294		argLen:       2,
3295		resultInArg0: true,
3296		asm:          x86.ASUBSS,
3297		reg: regInfo{
3298			inputs: []inputInfo{
3299				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3300				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3301			},
3302			outputs: []outputInfo{
3303				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3304			},
3305		},
3306	},
3307	{
3308		name:         "SUBSD",
3309		argLen:       2,
3310		resultInArg0: true,
3311		asm:          x86.ASUBSD,
3312		reg: regInfo{
3313			inputs: []inputInfo{
3314				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3315				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3316			},
3317			outputs: []outputInfo{
3318				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3319			},
3320		},
3321	},
3322	{
3323		name:         "MULSS",
3324		argLen:       2,
3325		commutative:  true,
3326		resultInArg0: true,
3327		asm:          x86.AMULSS,
3328		reg: regInfo{
3329			inputs: []inputInfo{
3330				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3331				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3332			},
3333			outputs: []outputInfo{
3334				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3335			},
3336		},
3337	},
3338	{
3339		name:         "MULSD",
3340		argLen:       2,
3341		commutative:  true,
3342		resultInArg0: true,
3343		asm:          x86.AMULSD,
3344		reg: regInfo{
3345			inputs: []inputInfo{
3346				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3347				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3348			},
3349			outputs: []outputInfo{
3350				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3351			},
3352		},
3353	},
3354	{
3355		name:         "DIVSS",
3356		argLen:       2,
3357		resultInArg0: true,
3358		asm:          x86.ADIVSS,
3359		reg: regInfo{
3360			inputs: []inputInfo{
3361				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3362				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3363			},
3364			outputs: []outputInfo{
3365				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3366			},
3367		},
3368	},
3369	{
3370		name:         "DIVSD",
3371		argLen:       2,
3372		resultInArg0: true,
3373		asm:          x86.ADIVSD,
3374		reg: regInfo{
3375			inputs: []inputInfo{
3376				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3377				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3378			},
3379			outputs: []outputInfo{
3380				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3381			},
3382		},
3383	},
3384	{
3385		name:           "MOVSSload",
3386		auxType:        auxSymOff,
3387		argLen:         2,
3388		faultOnNilArg0: true,
3389		symEffect:      SymRead,
3390		asm:            x86.AMOVSS,
3391		reg: regInfo{
3392			inputs: []inputInfo{
3393				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3394			},
3395			outputs: []outputInfo{
3396				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3397			},
3398		},
3399	},
3400	{
3401		name:           "MOVSDload",
3402		auxType:        auxSymOff,
3403		argLen:         2,
3404		faultOnNilArg0: true,
3405		symEffect:      SymRead,
3406		asm:            x86.AMOVSD,
3407		reg: regInfo{
3408			inputs: []inputInfo{
3409				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3410			},
3411			outputs: []outputInfo{
3412				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3413			},
3414		},
3415	},
3416	{
3417		name:              "MOVSSconst",
3418		auxType:           auxFloat32,
3419		argLen:            0,
3420		rematerializeable: true,
3421		asm:               x86.AMOVSS,
3422		reg: regInfo{
3423			outputs: []outputInfo{
3424				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3425			},
3426		},
3427	},
3428	{
3429		name:              "MOVSDconst",
3430		auxType:           auxFloat64,
3431		argLen:            0,
3432		rematerializeable: true,
3433		asm:               x86.AMOVSD,
3434		reg: regInfo{
3435			outputs: []outputInfo{
3436				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3437			},
3438		},
3439	},
3440	{
3441		name:      "MOVSSloadidx1",
3442		auxType:   auxSymOff,
3443		argLen:    3,
3444		symEffect: SymRead,
3445		asm:       x86.AMOVSS,
3446		reg: regInfo{
3447			inputs: []inputInfo{
3448				{1, 255},   // AX CX DX BX SP BP SI DI
3449				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3450			},
3451			outputs: []outputInfo{
3452				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3453			},
3454		},
3455	},
3456	{
3457		name:      "MOVSSloadidx4",
3458		auxType:   auxSymOff,
3459		argLen:    3,
3460		symEffect: SymRead,
3461		asm:       x86.AMOVSS,
3462		reg: regInfo{
3463			inputs: []inputInfo{
3464				{1, 255},   // AX CX DX BX SP BP SI DI
3465				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3466			},
3467			outputs: []outputInfo{
3468				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3469			},
3470		},
3471	},
3472	{
3473		name:      "MOVSDloadidx1",
3474		auxType:   auxSymOff,
3475		argLen:    3,
3476		symEffect: SymRead,
3477		asm:       x86.AMOVSD,
3478		reg: regInfo{
3479			inputs: []inputInfo{
3480				{1, 255},   // AX CX DX BX SP BP SI DI
3481				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3482			},
3483			outputs: []outputInfo{
3484				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3485			},
3486		},
3487	},
3488	{
3489		name:      "MOVSDloadidx8",
3490		auxType:   auxSymOff,
3491		argLen:    3,
3492		symEffect: SymRead,
3493		asm:       x86.AMOVSD,
3494		reg: regInfo{
3495			inputs: []inputInfo{
3496				{1, 255},   // AX CX DX BX SP BP SI DI
3497				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3498			},
3499			outputs: []outputInfo{
3500				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3501			},
3502		},
3503	},
3504	{
3505		name:           "MOVSSstore",
3506		auxType:        auxSymOff,
3507		argLen:         3,
3508		faultOnNilArg0: true,
3509		symEffect:      SymWrite,
3510		asm:            x86.AMOVSS,
3511		reg: regInfo{
3512			inputs: []inputInfo{
3513				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3514				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3515			},
3516		},
3517	},
3518	{
3519		name:           "MOVSDstore",
3520		auxType:        auxSymOff,
3521		argLen:         3,
3522		faultOnNilArg0: true,
3523		symEffect:      SymWrite,
3524		asm:            x86.AMOVSD,
3525		reg: regInfo{
3526			inputs: []inputInfo{
3527				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3528				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3529			},
3530		},
3531	},
3532	{
3533		name:      "MOVSSstoreidx1",
3534		auxType:   auxSymOff,
3535		argLen:    4,
3536		symEffect: SymWrite,
3537		asm:       x86.AMOVSS,
3538		reg: regInfo{
3539			inputs: []inputInfo{
3540				{1, 255},   // AX CX DX BX SP BP SI DI
3541				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3542				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3543			},
3544		},
3545	},
3546	{
3547		name:      "MOVSSstoreidx4",
3548		auxType:   auxSymOff,
3549		argLen:    4,
3550		symEffect: SymWrite,
3551		asm:       x86.AMOVSS,
3552		reg: regInfo{
3553			inputs: []inputInfo{
3554				{1, 255},   // AX CX DX BX SP BP SI DI
3555				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3556				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3557			},
3558		},
3559	},
3560	{
3561		name:      "MOVSDstoreidx1",
3562		auxType:   auxSymOff,
3563		argLen:    4,
3564		symEffect: SymWrite,
3565		asm:       x86.AMOVSD,
3566		reg: regInfo{
3567			inputs: []inputInfo{
3568				{1, 255},   // AX CX DX BX SP BP SI DI
3569				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3570				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3571			},
3572		},
3573	},
3574	{
3575		name:      "MOVSDstoreidx8",
3576		auxType:   auxSymOff,
3577		argLen:    4,
3578		symEffect: SymWrite,
3579		asm:       x86.AMOVSD,
3580		reg: regInfo{
3581			inputs: []inputInfo{
3582				{1, 255},   // AX CX DX BX SP BP SI DI
3583				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3584				{0, 65791}, // AX CX DX BX SP BP SI DI SB
3585			},
3586		},
3587	},
3588	{
3589		name:           "ADDSSload",
3590		auxType:        auxSymOff,
3591		argLen:         3,
3592		resultInArg0:   true,
3593		faultOnNilArg1: true,
3594		symEffect:      SymRead,
3595		asm:            x86.AADDSS,
3596		reg: regInfo{
3597			inputs: []inputInfo{
3598				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3599				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3600			},
3601			outputs: []outputInfo{
3602				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3603			},
3604		},
3605	},
3606	{
3607		name:           "ADDSDload",
3608		auxType:        auxSymOff,
3609		argLen:         3,
3610		resultInArg0:   true,
3611		faultOnNilArg1: true,
3612		symEffect:      SymRead,
3613		asm:            x86.AADDSD,
3614		reg: regInfo{
3615			inputs: []inputInfo{
3616				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3617				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3618			},
3619			outputs: []outputInfo{
3620				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3621			},
3622		},
3623	},
3624	{
3625		name:           "SUBSSload",
3626		auxType:        auxSymOff,
3627		argLen:         3,
3628		resultInArg0:   true,
3629		faultOnNilArg1: true,
3630		symEffect:      SymRead,
3631		asm:            x86.ASUBSS,
3632		reg: regInfo{
3633			inputs: []inputInfo{
3634				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3635				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3636			},
3637			outputs: []outputInfo{
3638				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3639			},
3640		},
3641	},
3642	{
3643		name:           "SUBSDload",
3644		auxType:        auxSymOff,
3645		argLen:         3,
3646		resultInArg0:   true,
3647		faultOnNilArg1: true,
3648		symEffect:      SymRead,
3649		asm:            x86.ASUBSD,
3650		reg: regInfo{
3651			inputs: []inputInfo{
3652				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3653				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3654			},
3655			outputs: []outputInfo{
3656				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3657			},
3658		},
3659	},
3660	{
3661		name:           "MULSSload",
3662		auxType:        auxSymOff,
3663		argLen:         3,
3664		resultInArg0:   true,
3665		faultOnNilArg1: true,
3666		symEffect:      SymRead,
3667		asm:            x86.AMULSS,
3668		reg: regInfo{
3669			inputs: []inputInfo{
3670				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3671				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3672			},
3673			outputs: []outputInfo{
3674				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3675			},
3676		},
3677	},
3678	{
3679		name:           "MULSDload",
3680		auxType:        auxSymOff,
3681		argLen:         3,
3682		resultInArg0:   true,
3683		faultOnNilArg1: true,
3684		symEffect:      SymRead,
3685		asm:            x86.AMULSD,
3686		reg: regInfo{
3687			inputs: []inputInfo{
3688				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3689				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3690			},
3691			outputs: []outputInfo{
3692				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3693			},
3694		},
3695	},
3696	{
3697		name:           "DIVSSload",
3698		auxType:        auxSymOff,
3699		argLen:         3,
3700		resultInArg0:   true,
3701		faultOnNilArg1: true,
3702		symEffect:      SymRead,
3703		asm:            x86.ADIVSS,
3704		reg: regInfo{
3705			inputs: []inputInfo{
3706				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3707				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3708			},
3709			outputs: []outputInfo{
3710				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3711			},
3712		},
3713	},
3714	{
3715		name:           "DIVSDload",
3716		auxType:        auxSymOff,
3717		argLen:         3,
3718		resultInArg0:   true,
3719		faultOnNilArg1: true,
3720		symEffect:      SymRead,
3721		asm:            x86.ADIVSD,
3722		reg: regInfo{
3723			inputs: []inputInfo{
3724				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3725				{1, 65791}, // AX CX DX BX SP BP SI DI SB
3726			},
3727			outputs: []outputInfo{
3728				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
3729			},
3730		},
3731	},
3732	{
3733		name:         "ADDL",
3734		argLen:       2,
3735		commutative:  true,
3736		clobberFlags: true,
3737		asm:          x86.AADDL,
3738		reg: regInfo{
3739			inputs: []inputInfo{
3740				{1, 239}, // AX CX DX BX BP SI DI
3741				{0, 255}, // AX CX DX BX SP BP SI DI
3742			},
3743			outputs: []outputInfo{
3744				{0, 239}, // AX CX DX BX BP SI DI
3745			},
3746		},
3747	},
3748	{
3749		name:         "ADDLconst",
3750		auxType:      auxInt32,
3751		argLen:       1,
3752		clobberFlags: true,
3753		asm:          x86.AADDL,
3754		reg: regInfo{
3755			inputs: []inputInfo{
3756				{0, 255}, // AX CX DX BX SP BP SI DI
3757			},
3758			outputs: []outputInfo{
3759				{0, 239}, // AX CX DX BX BP SI DI
3760			},
3761		},
3762	},
3763	{
3764		name:         "ADDLcarry",
3765		argLen:       2,
3766		commutative:  true,
3767		resultInArg0: true,
3768		asm:          x86.AADDL,
3769		reg: regInfo{
3770			inputs: []inputInfo{
3771				{0, 239}, // AX CX DX BX BP SI DI
3772				{1, 239}, // AX CX DX BX BP SI DI
3773			},
3774			outputs: []outputInfo{
3775				{1, 0},
3776				{0, 239}, // AX CX DX BX BP SI DI
3777			},
3778		},
3779	},
3780	{
3781		name:         "ADDLconstcarry",
3782		auxType:      auxInt32,
3783		argLen:       1,
3784		resultInArg0: true,
3785		asm:          x86.AADDL,
3786		reg: regInfo{
3787			inputs: []inputInfo{
3788				{0, 239}, // AX CX DX BX BP SI DI
3789			},
3790			outputs: []outputInfo{
3791				{1, 0},
3792				{0, 239}, // AX CX DX BX BP SI DI
3793			},
3794		},
3795	},
3796	{
3797		name:         "ADCL",
3798		argLen:       3,
3799		commutative:  true,
3800		resultInArg0: true,
3801		clobberFlags: true,
3802		asm:          x86.AADCL,
3803		reg: regInfo{
3804			inputs: []inputInfo{
3805				{0, 239}, // AX CX DX BX BP SI DI
3806				{1, 239}, // AX CX DX BX BP SI DI
3807			},
3808			outputs: []outputInfo{
3809				{0, 239}, // AX CX DX BX BP SI DI
3810			},
3811		},
3812	},
3813	{
3814		name:         "ADCLconst",
3815		auxType:      auxInt32,
3816		argLen:       2,
3817		resultInArg0: true,
3818		clobberFlags: true,
3819		asm:          x86.AADCL,
3820		reg: regInfo{
3821			inputs: []inputInfo{
3822				{0, 239}, // AX CX DX BX BP SI DI
3823			},
3824			outputs: []outputInfo{
3825				{0, 239}, // AX CX DX BX BP SI DI
3826			},
3827		},
3828	},
3829	{
3830		name:         "SUBL",
3831		argLen:       2,
3832		resultInArg0: true,
3833		clobberFlags: true,
3834		asm:          x86.ASUBL,
3835		reg: regInfo{
3836			inputs: []inputInfo{
3837				{0, 239}, // AX CX DX BX BP SI DI
3838				{1, 239}, // AX CX DX BX BP SI DI
3839			},
3840			outputs: []outputInfo{
3841				{0, 239}, // AX CX DX BX BP SI DI
3842			},
3843		},
3844	},
3845	{
3846		name:         "SUBLconst",
3847		auxType:      auxInt32,
3848		argLen:       1,
3849		resultInArg0: true,
3850		clobberFlags: true,
3851		asm:          x86.ASUBL,
3852		reg: regInfo{
3853			inputs: []inputInfo{
3854				{0, 239}, // AX CX DX BX BP SI DI
3855			},
3856			outputs: []outputInfo{
3857				{0, 239}, // AX CX DX BX BP SI DI
3858			},
3859		},
3860	},
3861	{
3862		name:         "SUBLcarry",
3863		argLen:       2,
3864		resultInArg0: true,
3865		asm:          x86.ASUBL,
3866		reg: regInfo{
3867			inputs: []inputInfo{
3868				{0, 239}, // AX CX DX BX BP SI DI
3869				{1, 239}, // AX CX DX BX BP SI DI
3870			},
3871			outputs: []outputInfo{
3872				{1, 0},
3873				{0, 239}, // AX CX DX BX BP SI DI
3874			},
3875		},
3876	},
3877	{
3878		name:         "SUBLconstcarry",
3879		auxType:      auxInt32,
3880		argLen:       1,
3881		resultInArg0: true,
3882		asm:          x86.ASUBL,
3883		reg: regInfo{
3884			inputs: []inputInfo{
3885				{0, 239}, // AX CX DX BX BP SI DI
3886			},
3887			outputs: []outputInfo{
3888				{1, 0},
3889				{0, 239}, // AX CX DX BX BP SI DI
3890			},
3891		},
3892	},
3893	{
3894		name:         "SBBL",
3895		argLen:       3,
3896		resultInArg0: true,
3897		clobberFlags: true,
3898		asm:          x86.ASBBL,
3899		reg: regInfo{
3900			inputs: []inputInfo{
3901				{0, 239}, // AX CX DX BX BP SI DI
3902				{1, 239}, // AX CX DX BX BP SI DI
3903			},
3904			outputs: []outputInfo{
3905				{0, 239}, // AX CX DX BX BP SI DI
3906			},
3907		},
3908	},
3909	{
3910		name:         "SBBLconst",
3911		auxType:      auxInt32,
3912		argLen:       2,
3913		resultInArg0: true,
3914		clobberFlags: true,
3915		asm:          x86.ASBBL,
3916		reg: regInfo{
3917			inputs: []inputInfo{
3918				{0, 239}, // AX CX DX BX BP SI DI
3919			},
3920			outputs: []outputInfo{
3921				{0, 239}, // AX CX DX BX BP SI DI
3922			},
3923		},
3924	},
3925	{
3926		name:         "MULL",
3927		argLen:       2,
3928		commutative:  true,
3929		resultInArg0: true,
3930		clobberFlags: true,
3931		asm:          x86.AIMULL,
3932		reg: regInfo{
3933			inputs: []inputInfo{
3934				{0, 239}, // AX CX DX BX BP SI DI
3935				{1, 239}, // AX CX DX BX BP SI DI
3936			},
3937			outputs: []outputInfo{
3938				{0, 239}, // AX CX DX BX BP SI DI
3939			},
3940		},
3941	},
3942	{
3943		name:         "MULLconst",
3944		auxType:      auxInt32,
3945		argLen:       1,
3946		clobberFlags: true,
3947		asm:          x86.AIMUL3L,
3948		reg: regInfo{
3949			inputs: []inputInfo{
3950				{0, 239}, // AX CX DX BX BP SI DI
3951			},
3952			outputs: []outputInfo{
3953				{0, 239}, // AX CX DX BX BP SI DI
3954			},
3955		},
3956	},
3957	{
3958		name:         "MULLU",
3959		argLen:       2,
3960		commutative:  true,
3961		clobberFlags: true,
3962		asm:          x86.AMULL,
3963		reg: regInfo{
3964			inputs: []inputInfo{
3965				{0, 1},   // AX
3966				{1, 255}, // AX CX DX BX SP BP SI DI
3967			},
3968			clobbers: 4, // DX
3969			outputs: []outputInfo{
3970				{1, 0},
3971				{0, 1}, // AX
3972			},
3973		},
3974	},
3975	{
3976		name:         "HMULL",
3977		argLen:       2,
3978		commutative:  true,
3979		clobberFlags: true,
3980		asm:          x86.AIMULL,
3981		reg: regInfo{
3982			inputs: []inputInfo{
3983				{0, 1},   // AX
3984				{1, 255}, // AX CX DX BX SP BP SI DI
3985			},
3986			clobbers: 1, // AX
3987			outputs: []outputInfo{
3988				{0, 4}, // DX
3989			},
3990		},
3991	},
3992	{
3993		name:         "HMULLU",
3994		argLen:       2,
3995		commutative:  true,
3996		clobberFlags: true,
3997		asm:          x86.AMULL,
3998		reg: regInfo{
3999			inputs: []inputInfo{
4000				{0, 1},   // AX
4001				{1, 255}, // AX CX DX BX SP BP SI DI
4002			},
4003			clobbers: 1, // AX
4004			outputs: []outputInfo{
4005				{0, 4}, // DX
4006			},
4007		},
4008	},
4009	{
4010		name:         "MULLQU",
4011		argLen:       2,
4012		commutative:  true,
4013		clobberFlags: true,
4014		asm:          x86.AMULL,
4015		reg: regInfo{
4016			inputs: []inputInfo{
4017				{0, 1},   // AX
4018				{1, 255}, // AX CX DX BX SP BP SI DI
4019			},
4020			outputs: []outputInfo{
4021				{0, 4}, // DX
4022				{1, 1}, // AX
4023			},
4024		},
4025	},
4026	{
4027		name:         "AVGLU",
4028		argLen:       2,
4029		commutative:  true,
4030		resultInArg0: true,
4031		clobberFlags: true,
4032		reg: regInfo{
4033			inputs: []inputInfo{
4034				{0, 239}, // AX CX DX BX BP SI DI
4035				{1, 239}, // AX CX DX BX BP SI DI
4036			},
4037			outputs: []outputInfo{
4038				{0, 239}, // AX CX DX BX BP SI DI
4039			},
4040		},
4041	},
4042	{
4043		name:         "DIVL",
4044		auxType:      auxBool,
4045		argLen:       2,
4046		clobberFlags: true,
4047		asm:          x86.AIDIVL,
4048		reg: regInfo{
4049			inputs: []inputInfo{
4050				{0, 1},   // AX
4051				{1, 251}, // AX CX BX SP BP SI DI
4052			},
4053			clobbers: 4, // DX
4054			outputs: []outputInfo{
4055				{0, 1}, // AX
4056			},
4057		},
4058	},
4059	{
4060		name:         "DIVW",
4061		auxType:      auxBool,
4062		argLen:       2,
4063		clobberFlags: true,
4064		asm:          x86.AIDIVW,
4065		reg: regInfo{
4066			inputs: []inputInfo{
4067				{0, 1},   // AX
4068				{1, 251}, // AX CX BX SP BP SI DI
4069			},
4070			clobbers: 4, // DX
4071			outputs: []outputInfo{
4072				{0, 1}, // AX
4073			},
4074		},
4075	},
4076	{
4077		name:         "DIVLU",
4078		argLen:       2,
4079		clobberFlags: true,
4080		asm:          x86.ADIVL,
4081		reg: regInfo{
4082			inputs: []inputInfo{
4083				{0, 1},   // AX
4084				{1, 251}, // AX CX BX SP BP SI DI
4085			},
4086			clobbers: 4, // DX
4087			outputs: []outputInfo{
4088				{0, 1}, // AX
4089			},
4090		},
4091	},
4092	{
4093		name:         "DIVWU",
4094		argLen:       2,
4095		clobberFlags: true,
4096		asm:          x86.ADIVW,
4097		reg: regInfo{
4098			inputs: []inputInfo{
4099				{0, 1},   // AX
4100				{1, 251}, // AX CX BX SP BP SI DI
4101			},
4102			clobbers: 4, // DX
4103			outputs: []outputInfo{
4104				{0, 1}, // AX
4105			},
4106		},
4107	},
4108	{
4109		name:         "MODL",
4110		auxType:      auxBool,
4111		argLen:       2,
4112		clobberFlags: true,
4113		asm:          x86.AIDIVL,
4114		reg: regInfo{
4115			inputs: []inputInfo{
4116				{0, 1},   // AX
4117				{1, 251}, // AX CX BX SP BP SI DI
4118			},
4119			clobbers: 1, // AX
4120			outputs: []outputInfo{
4121				{0, 4}, // DX
4122			},
4123		},
4124	},
4125	{
4126		name:         "MODW",
4127		auxType:      auxBool,
4128		argLen:       2,
4129		clobberFlags: true,
4130		asm:          x86.AIDIVW,
4131		reg: regInfo{
4132			inputs: []inputInfo{
4133				{0, 1},   // AX
4134				{1, 251}, // AX CX BX SP BP SI DI
4135			},
4136			clobbers: 1, // AX
4137			outputs: []outputInfo{
4138				{0, 4}, // DX
4139			},
4140		},
4141	},
4142	{
4143		name:         "MODLU",
4144		argLen:       2,
4145		clobberFlags: true,
4146		asm:          x86.ADIVL,
4147		reg: regInfo{
4148			inputs: []inputInfo{
4149				{0, 1},   // AX
4150				{1, 251}, // AX CX BX SP BP SI DI
4151			},
4152			clobbers: 1, // AX
4153			outputs: []outputInfo{
4154				{0, 4}, // DX
4155			},
4156		},
4157	},
4158	{
4159		name:         "MODWU",
4160		argLen:       2,
4161		clobberFlags: true,
4162		asm:          x86.ADIVW,
4163		reg: regInfo{
4164			inputs: []inputInfo{
4165				{0, 1},   // AX
4166				{1, 251}, // AX CX BX SP BP SI DI
4167			},
4168			clobbers: 1, // AX
4169			outputs: []outputInfo{
4170				{0, 4}, // DX
4171			},
4172		},
4173	},
4174	{
4175		name:         "ANDL",
4176		argLen:       2,
4177		commutative:  true,
4178		resultInArg0: true,
4179		clobberFlags: true,
4180		asm:          x86.AANDL,
4181		reg: regInfo{
4182			inputs: []inputInfo{
4183				{0, 239}, // AX CX DX BX BP SI DI
4184				{1, 239}, // AX CX DX BX BP SI DI
4185			},
4186			outputs: []outputInfo{
4187				{0, 239}, // AX CX DX BX BP SI DI
4188			},
4189		},
4190	},
4191	{
4192		name:         "ANDLconst",
4193		auxType:      auxInt32,
4194		argLen:       1,
4195		resultInArg0: true,
4196		clobberFlags: true,
4197		asm:          x86.AANDL,
4198		reg: regInfo{
4199			inputs: []inputInfo{
4200				{0, 239}, // AX CX DX BX BP SI DI
4201			},
4202			outputs: []outputInfo{
4203				{0, 239}, // AX CX DX BX BP SI DI
4204			},
4205		},
4206	},
4207	{
4208		name:         "ORL",
4209		argLen:       2,
4210		commutative:  true,
4211		resultInArg0: true,
4212		clobberFlags: true,
4213		asm:          x86.AORL,
4214		reg: regInfo{
4215			inputs: []inputInfo{
4216				{0, 239}, // AX CX DX BX BP SI DI
4217				{1, 239}, // AX CX DX BX BP SI DI
4218			},
4219			outputs: []outputInfo{
4220				{0, 239}, // AX CX DX BX BP SI DI
4221			},
4222		},
4223	},
4224	{
4225		name:         "ORLconst",
4226		auxType:      auxInt32,
4227		argLen:       1,
4228		resultInArg0: true,
4229		clobberFlags: true,
4230		asm:          x86.AORL,
4231		reg: regInfo{
4232			inputs: []inputInfo{
4233				{0, 239}, // AX CX DX BX BP SI DI
4234			},
4235			outputs: []outputInfo{
4236				{0, 239}, // AX CX DX BX BP SI DI
4237			},
4238		},
4239	},
4240	{
4241		name:         "XORL",
4242		argLen:       2,
4243		commutative:  true,
4244		resultInArg0: true,
4245		clobberFlags: true,
4246		asm:          x86.AXORL,
4247		reg: regInfo{
4248			inputs: []inputInfo{
4249				{0, 239}, // AX CX DX BX BP SI DI
4250				{1, 239}, // AX CX DX BX BP SI DI
4251			},
4252			outputs: []outputInfo{
4253				{0, 239}, // AX CX DX BX BP SI DI
4254			},
4255		},
4256	},
4257	{
4258		name:         "XORLconst",
4259		auxType:      auxInt32,
4260		argLen:       1,
4261		resultInArg0: true,
4262		clobberFlags: true,
4263		asm:          x86.AXORL,
4264		reg: regInfo{
4265			inputs: []inputInfo{
4266				{0, 239}, // AX CX DX BX BP SI DI
4267			},
4268			outputs: []outputInfo{
4269				{0, 239}, // AX CX DX BX BP SI DI
4270			},
4271		},
4272	},
4273	{
4274		name:   "CMPL",
4275		argLen: 2,
4276		asm:    x86.ACMPL,
4277		reg: regInfo{
4278			inputs: []inputInfo{
4279				{0, 255}, // AX CX DX BX SP BP SI DI
4280				{1, 255}, // AX CX DX BX SP BP SI DI
4281			},
4282		},
4283	},
4284	{
4285		name:   "CMPW",
4286		argLen: 2,
4287		asm:    x86.ACMPW,
4288		reg: regInfo{
4289			inputs: []inputInfo{
4290				{0, 255}, // AX CX DX BX SP BP SI DI
4291				{1, 255}, // AX CX DX BX SP BP SI DI
4292			},
4293		},
4294	},
4295	{
4296		name:   "CMPB",
4297		argLen: 2,
4298		asm:    x86.ACMPB,
4299		reg: regInfo{
4300			inputs: []inputInfo{
4301				{0, 255}, // AX CX DX BX SP BP SI DI
4302				{1, 255}, // AX CX DX BX SP BP SI DI
4303			},
4304		},
4305	},
4306	{
4307		name:    "CMPLconst",
4308		auxType: auxInt32,
4309		argLen:  1,
4310		asm:     x86.ACMPL,
4311		reg: regInfo{
4312			inputs: []inputInfo{
4313				{0, 255}, // AX CX DX BX SP BP SI DI
4314			},
4315		},
4316	},
4317	{
4318		name:    "CMPWconst",
4319		auxType: auxInt16,
4320		argLen:  1,
4321		asm:     x86.ACMPW,
4322		reg: regInfo{
4323			inputs: []inputInfo{
4324				{0, 255}, // AX CX DX BX SP BP SI DI
4325			},
4326		},
4327	},
4328	{
4329		name:    "CMPBconst",
4330		auxType: auxInt8,
4331		argLen:  1,
4332		asm:     x86.ACMPB,
4333		reg: regInfo{
4334			inputs: []inputInfo{
4335				{0, 255}, // AX CX DX BX SP BP SI DI
4336			},
4337		},
4338	},
4339	{
4340		name:           "CMPLload",
4341		auxType:        auxSymOff,
4342		argLen:         3,
4343		faultOnNilArg0: true,
4344		symEffect:      SymRead,
4345		asm:            x86.ACMPL,
4346		reg: regInfo{
4347			inputs: []inputInfo{
4348				{1, 255},   // AX CX DX BX SP BP SI DI
4349				{0, 65791}, // AX CX DX BX SP BP SI DI SB
4350			},
4351		},
4352	},
4353	{
4354		name:           "CMPWload",
4355		auxType:        auxSymOff,
4356		argLen:         3,
4357		faultOnNilArg0: true,
4358		symEffect:      SymRead,
4359		asm:            x86.ACMPW,
4360		reg: regInfo{
4361			inputs: []inputInfo{
4362				{1, 255},   // AX CX DX BX SP BP SI DI
4363				{0, 65791}, // AX CX DX BX SP BP SI DI SB
4364			},
4365		},
4366	},
4367	{
4368		name:           "CMPBload",
4369		auxType:        auxSymOff,
4370		argLen:         3,
4371		faultOnNilArg0: true,
4372		symEffect:      SymRead,
4373		asm:            x86.ACMPB,
4374		reg: regInfo{
4375			inputs: []inputInfo{
4376				{1, 255},   // AX CX DX BX SP BP SI DI
4377				{0, 65791}, // AX CX DX BX SP BP SI DI SB
4378			},
4379		},
4380	},
4381	{
4382		name:           "CMPLconstload",
4383		auxType:        auxSymValAndOff,
4384		argLen:         2,
4385		faultOnNilArg0: true,
4386		symEffect:      SymRead,
4387		asm:            x86.ACMPL,
4388		reg: regInfo{
4389			inputs: []inputInfo{
4390				{0, 65791}, // AX CX DX BX SP BP SI DI SB
4391			},
4392		},
4393	},
4394	{
4395		name:           "CMPWconstload",
4396		auxType:        auxSymValAndOff,
4397		argLen:         2,
4398		faultOnNilArg0: true,
4399		symEffect:      SymRead,
4400		asm:            x86.ACMPW,
4401		reg: regInfo{
4402			inputs: []inputInfo{
4403				{0, 65791}, // AX CX DX BX SP BP SI DI SB
4404			},
4405		},
4406	},
4407	{
4408		name:           "CMPBconstload",
4409		auxType:        auxSymValAndOff,
4410		argLen:         2,
4411		faultOnNilArg0: true,
4412		symEffect:      SymRead,
4413		asm:            x86.ACMPB,
4414		reg: regInfo{
4415			inputs: []inputInfo{
4416				{0, 65791}, // AX CX DX BX SP BP SI DI SB
4417			},
4418		},
4419	},
4420	{
4421		name:   "UCOMISS",
4422		argLen: 2,
4423		asm:    x86.AUCOMISS,
4424		reg: regInfo{
4425			inputs: []inputInfo{
4426				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4427				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4428			},
4429		},
4430	},
4431	{
4432		name:   "UCOMISD",
4433		argLen: 2,
4434		asm:    x86.AUCOMISD,
4435		reg: regInfo{
4436			inputs: []inputInfo{
4437				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4438				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
4439			},
4440		},
4441	},
4442	{
4443		name:        "TESTL",
4444		argLen:      2,
4445		commutative: true,
4446		asm:         x86.ATESTL,
4447		reg: regInfo{
4448			inputs: []inputInfo{
4449				{0, 255}, // AX CX DX BX SP BP SI DI
4450				{1, 255}, // AX CX DX BX SP BP SI DI
4451			},
4452		},
4453	},
4454	{
4455		name:        "TESTW",
4456		argLen:      2,
4457		commutative: true,
4458		asm:         x86.ATESTW,
4459		reg: regInfo{
4460			inputs: []inputInfo{
4461				{0, 255}, // AX CX DX BX SP BP SI DI
4462				{1, 255}, // AX CX DX BX SP BP SI DI
4463			},
4464		},
4465	},
4466	{
4467		name:        "TESTB",
4468		argLen:      2,
4469		commutative: true,
4470		asm:         x86.ATESTB,
4471		reg: regInfo{
4472			inputs: []inputInfo{
4473				{0, 255}, // AX CX DX BX SP BP SI DI
4474				{1, 255}, // AX CX DX BX SP BP SI DI
4475			},
4476		},
4477	},
4478	{
4479		name:    "TESTLconst",
4480		auxType: auxInt32,
4481		argLen:  1,
4482		asm:     x86.ATESTL,
4483		reg: regInfo{
4484			inputs: []inputInfo{
4485				{0, 255}, // AX CX DX BX SP BP SI DI
4486			},
4487		},
4488	},
4489	{
4490		name:    "TESTWconst",
4491		auxType: auxInt16,
4492		argLen:  1,
4493		asm:     x86.ATESTW,
4494		reg: regInfo{
4495			inputs: []inputInfo{
4496				{0, 255}, // AX CX DX BX SP BP SI DI
4497			},
4498		},
4499	},
4500	{
4501		name:    "TESTBconst",
4502		auxType: auxInt8,
4503		argLen:  1,
4504		asm:     x86.ATESTB,
4505		reg: regInfo{
4506			inputs: []inputInfo{
4507				{0, 255}, // AX CX DX BX SP BP SI DI
4508			},
4509		},
4510	},
4511	{
4512		name:         "SHLL",
4513		argLen:       2,
4514		resultInArg0: true,
4515		clobberFlags: true,
4516		asm:          x86.ASHLL,
4517		reg: regInfo{
4518			inputs: []inputInfo{
4519				{1, 2},   // CX
4520				{0, 239}, // AX CX DX BX BP SI DI
4521			},
4522			outputs: []outputInfo{
4523				{0, 239}, // AX CX DX BX BP SI DI
4524			},
4525		},
4526	},
4527	{
4528		name:         "SHLLconst",
4529		auxType:      auxInt32,
4530		argLen:       1,
4531		resultInArg0: true,
4532		clobberFlags: true,
4533		asm:          x86.ASHLL,
4534		reg: regInfo{
4535			inputs: []inputInfo{
4536				{0, 239}, // AX CX DX BX BP SI DI
4537			},
4538			outputs: []outputInfo{
4539				{0, 239}, // AX CX DX BX BP SI DI
4540			},
4541		},
4542	},
4543	{
4544		name:         "SHRL",
4545		argLen:       2,
4546		resultInArg0: true,
4547		clobberFlags: true,
4548		asm:          x86.ASHRL,
4549		reg: regInfo{
4550			inputs: []inputInfo{
4551				{1, 2},   // CX
4552				{0, 239}, // AX CX DX BX BP SI DI
4553			},
4554			outputs: []outputInfo{
4555				{0, 239}, // AX CX DX BX BP SI DI
4556			},
4557		},
4558	},
4559	{
4560		name:         "SHRW",
4561		argLen:       2,
4562		resultInArg0: true,
4563		clobberFlags: true,
4564		asm:          x86.ASHRW,
4565		reg: regInfo{
4566			inputs: []inputInfo{
4567				{1, 2},   // CX
4568				{0, 239}, // AX CX DX BX BP SI DI
4569			},
4570			outputs: []outputInfo{
4571				{0, 239}, // AX CX DX BX BP SI DI
4572			},
4573		},
4574	},
4575	{
4576		name:         "SHRB",
4577		argLen:       2,
4578		resultInArg0: true,
4579		clobberFlags: true,
4580		asm:          x86.ASHRB,
4581		reg: regInfo{
4582			inputs: []inputInfo{
4583				{1, 2},   // CX
4584				{0, 239}, // AX CX DX BX BP SI DI
4585			},
4586			outputs: []outputInfo{
4587				{0, 239}, // AX CX DX BX BP SI DI
4588			},
4589		},
4590	},
4591	{
4592		name:         "SHRLconst",
4593		auxType:      auxInt32,
4594		argLen:       1,
4595		resultInArg0: true,
4596		clobberFlags: true,
4597		asm:          x86.ASHRL,
4598		reg: regInfo{
4599			inputs: []inputInfo{
4600				{0, 239}, // AX CX DX BX BP SI DI
4601			},
4602			outputs: []outputInfo{
4603				{0, 239}, // AX CX DX BX BP SI DI
4604			},
4605		},
4606	},
4607	{
4608		name:         "SHRWconst",
4609		auxType:      auxInt16,
4610		argLen:       1,
4611		resultInArg0: true,
4612		clobberFlags: true,
4613		asm:          x86.ASHRW,
4614		reg: regInfo{
4615			inputs: []inputInfo{
4616				{0, 239}, // AX CX DX BX BP SI DI
4617			},
4618			outputs: []outputInfo{
4619				{0, 239}, // AX CX DX BX BP SI DI
4620			},
4621		},
4622	},
4623	{
4624		name:         "SHRBconst",
4625		auxType:      auxInt8,
4626		argLen:       1,
4627		resultInArg0: true,
4628		clobberFlags: true,
4629		asm:          x86.ASHRB,
4630		reg: regInfo{
4631			inputs: []inputInfo{
4632				{0, 239}, // AX CX DX BX BP SI DI
4633			},
4634			outputs: []outputInfo{
4635				{0, 239}, // AX CX DX BX BP SI DI
4636			},
4637		},
4638	},
4639	{
4640		name:         "SARL",
4641		argLen:       2,
4642		resultInArg0: true,
4643		clobberFlags: true,
4644		asm:          x86.ASARL,
4645		reg: regInfo{
4646			inputs: []inputInfo{
4647				{1, 2},   // CX
4648				{0, 239}, // AX CX DX BX BP SI DI
4649			},
4650			outputs: []outputInfo{
4651				{0, 239}, // AX CX DX BX BP SI DI
4652			},
4653		},
4654	},
4655	{
4656		name:         "SARW",
4657		argLen:       2,
4658		resultInArg0: true,
4659		clobberFlags: true,
4660		asm:          x86.ASARW,
4661		reg: regInfo{
4662			inputs: []inputInfo{
4663				{1, 2},   // CX
4664				{0, 239}, // AX CX DX BX BP SI DI
4665			},
4666			outputs: []outputInfo{
4667				{0, 239}, // AX CX DX BX BP SI DI
4668			},
4669		},
4670	},
4671	{
4672		name:         "SARB",
4673		argLen:       2,
4674		resultInArg0: true,
4675		clobberFlags: true,
4676		asm:          x86.ASARB,
4677		reg: regInfo{
4678			inputs: []inputInfo{
4679				{1, 2},   // CX
4680				{0, 239}, // AX CX DX BX BP SI DI
4681			},
4682			outputs: []outputInfo{
4683				{0, 239}, // AX CX DX BX BP SI DI
4684			},
4685		},
4686	},
4687	{
4688		name:         "SARLconst",
4689		auxType:      auxInt32,
4690		argLen:       1,
4691		resultInArg0: true,
4692		clobberFlags: true,
4693		asm:          x86.ASARL,
4694		reg: regInfo{
4695			inputs: []inputInfo{
4696				{0, 239}, // AX CX DX BX BP SI DI
4697			},
4698			outputs: []outputInfo{
4699				{0, 239}, // AX CX DX BX BP SI DI
4700			},
4701		},
4702	},
4703	{
4704		name:         "SARWconst",
4705		auxType:      auxInt16,
4706		argLen:       1,
4707		resultInArg0: true,
4708		clobberFlags: true,
4709		asm:          x86.ASARW,
4710		reg: regInfo{
4711			inputs: []inputInfo{
4712				{0, 239}, // AX CX DX BX BP SI DI
4713			},
4714			outputs: []outputInfo{
4715				{0, 239}, // AX CX DX BX BP SI DI
4716			},
4717		},
4718	},
4719	{
4720		name:         "SARBconst",
4721		auxType:      auxInt8,
4722		argLen:       1,
4723		resultInArg0: true,
4724		clobberFlags: true,
4725		asm:          x86.ASARB,
4726		reg: regInfo{
4727			inputs: []inputInfo{
4728				{0, 239}, // AX CX DX BX BP SI DI
4729			},
4730			outputs: []outputInfo{
4731				{0, 239}, // AX CX DX BX BP SI DI
4732			},
4733		},
4734	},
4735	{
4736		name:         "ROLL",
4737		argLen:       2,
4738		resultInArg0: true,
4739		clobberFlags: true,
4740		asm:          x86.AROLL,
4741		reg: regInfo{
4742			inputs: []inputInfo{
4743				{1, 2},   // CX
4744				{0, 239}, // AX CX DX BX BP SI DI
4745			},
4746			outputs: []outputInfo{
4747				{0, 239}, // AX CX DX BX BP SI DI
4748			},
4749		},
4750	},
4751	{
4752		name:         "ROLW",
4753		argLen:       2,
4754		resultInArg0: true,
4755		clobberFlags: true,
4756		asm:          x86.AROLW,
4757		reg: regInfo{
4758			inputs: []inputInfo{
4759				{1, 2},   // CX
4760				{0, 239}, // AX CX DX BX BP SI DI
4761			},
4762			outputs: []outputInfo{
4763				{0, 239}, // AX CX DX BX BP SI DI
4764			},
4765		},
4766	},
4767	{
4768		name:         "ROLB",
4769		argLen:       2,
4770		resultInArg0: true,
4771		clobberFlags: true,
4772		asm:          x86.AROLB,
4773		reg: regInfo{
4774			inputs: []inputInfo{
4775				{1, 2},   // CX
4776				{0, 239}, // AX CX DX BX BP SI DI
4777			},
4778			outputs: []outputInfo{
4779				{0, 239}, // AX CX DX BX BP SI DI
4780			},
4781		},
4782	},
4783	{
4784		name:         "ROLLconst",
4785		auxType:      auxInt32,
4786		argLen:       1,
4787		resultInArg0: true,
4788		clobberFlags: true,
4789		asm:          x86.AROLL,
4790		reg: regInfo{
4791			inputs: []inputInfo{
4792				{0, 239}, // AX CX DX BX BP SI DI
4793			},
4794			outputs: []outputInfo{
4795				{0, 239}, // AX CX DX BX BP SI DI
4796			},
4797		},
4798	},
4799	{
4800		name:         "ROLWconst",
4801		auxType:      auxInt16,
4802		argLen:       1,
4803		resultInArg0: true,
4804		clobberFlags: true,
4805		asm:          x86.AROLW,
4806		reg: regInfo{
4807			inputs: []inputInfo{
4808				{0, 239}, // AX CX DX BX BP SI DI
4809			},
4810			outputs: []outputInfo{
4811				{0, 239}, // AX CX DX BX BP SI DI
4812			},
4813		},
4814	},
4815	{
4816		name:         "ROLBconst",
4817		auxType:      auxInt8,
4818		argLen:       1,
4819		resultInArg0: true,
4820		clobberFlags: true,
4821		asm:          x86.AROLB,
4822		reg: regInfo{
4823			inputs: []inputInfo{
4824				{0, 239}, // AX CX DX BX BP SI DI
4825			},
4826			outputs: []outputInfo{
4827				{0, 239}, // AX CX DX BX BP SI DI
4828			},
4829		},
4830	},
4831	{
4832		name:           "ADDLload",
4833		auxType:        auxSymOff,
4834		argLen:         3,
4835		resultInArg0:   true,
4836		clobberFlags:   true,
4837		faultOnNilArg1: true,
4838		symEffect:      SymRead,
4839		asm:            x86.AADDL,
4840		reg: regInfo{
4841			inputs: []inputInfo{
4842				{0, 239},   // AX CX DX BX BP SI DI
4843				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4844			},
4845			outputs: []outputInfo{
4846				{0, 239}, // AX CX DX BX BP SI DI
4847			},
4848		},
4849	},
4850	{
4851		name:           "SUBLload",
4852		auxType:        auxSymOff,
4853		argLen:         3,
4854		resultInArg0:   true,
4855		clobberFlags:   true,
4856		faultOnNilArg1: true,
4857		symEffect:      SymRead,
4858		asm:            x86.ASUBL,
4859		reg: regInfo{
4860			inputs: []inputInfo{
4861				{0, 239},   // AX CX DX BX BP SI DI
4862				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4863			},
4864			outputs: []outputInfo{
4865				{0, 239}, // AX CX DX BX BP SI DI
4866			},
4867		},
4868	},
4869	{
4870		name:           "MULLload",
4871		auxType:        auxSymOff,
4872		argLen:         3,
4873		resultInArg0:   true,
4874		clobberFlags:   true,
4875		faultOnNilArg1: true,
4876		symEffect:      SymRead,
4877		asm:            x86.AIMULL,
4878		reg: regInfo{
4879			inputs: []inputInfo{
4880				{0, 239},   // AX CX DX BX BP SI DI
4881				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4882			},
4883			outputs: []outputInfo{
4884				{0, 239}, // AX CX DX BX BP SI DI
4885			},
4886		},
4887	},
4888	{
4889		name:           "ANDLload",
4890		auxType:        auxSymOff,
4891		argLen:         3,
4892		resultInArg0:   true,
4893		clobberFlags:   true,
4894		faultOnNilArg1: true,
4895		symEffect:      SymRead,
4896		asm:            x86.AANDL,
4897		reg: regInfo{
4898			inputs: []inputInfo{
4899				{0, 239},   // AX CX DX BX BP SI DI
4900				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4901			},
4902			outputs: []outputInfo{
4903				{0, 239}, // AX CX DX BX BP SI DI
4904			},
4905		},
4906	},
4907	{
4908		name:           "ORLload",
4909		auxType:        auxSymOff,
4910		argLen:         3,
4911		resultInArg0:   true,
4912		clobberFlags:   true,
4913		faultOnNilArg1: true,
4914		symEffect:      SymRead,
4915		asm:            x86.AORL,
4916		reg: regInfo{
4917			inputs: []inputInfo{
4918				{0, 239},   // AX CX DX BX BP SI DI
4919				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4920			},
4921			outputs: []outputInfo{
4922				{0, 239}, // AX CX DX BX BP SI DI
4923			},
4924		},
4925	},
4926	{
4927		name:           "XORLload",
4928		auxType:        auxSymOff,
4929		argLen:         3,
4930		resultInArg0:   true,
4931		clobberFlags:   true,
4932		faultOnNilArg1: true,
4933		symEffect:      SymRead,
4934		asm:            x86.AXORL,
4935		reg: regInfo{
4936			inputs: []inputInfo{
4937				{0, 239},   // AX CX DX BX BP SI DI
4938				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4939			},
4940			outputs: []outputInfo{
4941				{0, 239}, // AX CX DX BX BP SI DI
4942			},
4943		},
4944	},
4945	{
4946		name:         "ADDLloadidx4",
4947		auxType:      auxSymOff,
4948		argLen:       4,
4949		resultInArg0: true,
4950		clobberFlags: true,
4951		symEffect:    SymRead,
4952		asm:          x86.AADDL,
4953		reg: regInfo{
4954			inputs: []inputInfo{
4955				{0, 239},   // AX CX DX BX BP SI DI
4956				{2, 255},   // AX CX DX BX SP BP SI DI
4957				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4958			},
4959			outputs: []outputInfo{
4960				{0, 239}, // AX CX DX BX BP SI DI
4961			},
4962		},
4963	},
4964	{
4965		name:         "SUBLloadidx4",
4966		auxType:      auxSymOff,
4967		argLen:       4,
4968		resultInArg0: true,
4969		clobberFlags: true,
4970		symEffect:    SymRead,
4971		asm:          x86.ASUBL,
4972		reg: regInfo{
4973			inputs: []inputInfo{
4974				{0, 239},   // AX CX DX BX BP SI DI
4975				{2, 255},   // AX CX DX BX SP BP SI DI
4976				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4977			},
4978			outputs: []outputInfo{
4979				{0, 239}, // AX CX DX BX BP SI DI
4980			},
4981		},
4982	},
4983	{
4984		name:         "MULLloadidx4",
4985		auxType:      auxSymOff,
4986		argLen:       4,
4987		resultInArg0: true,
4988		clobberFlags: true,
4989		symEffect:    SymRead,
4990		asm:          x86.AIMULL,
4991		reg: regInfo{
4992			inputs: []inputInfo{
4993				{0, 239},   // AX CX DX BX BP SI DI
4994				{2, 255},   // AX CX DX BX SP BP SI DI
4995				{1, 65791}, // AX CX DX BX SP BP SI DI SB
4996			},
4997			outputs: []outputInfo{
4998				{0, 239}, // AX CX DX BX BP SI DI
4999			},
5000		},
5001	},
5002	{
5003		name:         "ANDLloadidx4",
5004		auxType:      auxSymOff,
5005		argLen:       4,
5006		resultInArg0: true,
5007		clobberFlags: true,
5008		symEffect:    SymRead,
5009		asm:          x86.AANDL,
5010		reg: regInfo{
5011			inputs: []inputInfo{
5012				{0, 239},   // AX CX DX BX BP SI DI
5013				{2, 255},   // AX CX DX BX SP BP SI DI
5014				{1, 65791}, // AX CX DX BX SP BP SI DI SB
5015			},
5016			outputs: []outputInfo{
5017				{0, 239}, // AX CX DX BX BP SI DI
5018			},
5019		},
5020	},
5021	{
5022		name:         "ORLloadidx4",
5023		auxType:      auxSymOff,
5024		argLen:       4,
5025		resultInArg0: true,
5026		clobberFlags: true,
5027		symEffect:    SymRead,
5028		asm:          x86.AORL,
5029		reg: regInfo{
5030			inputs: []inputInfo{
5031				{0, 239},   // AX CX DX BX BP SI DI
5032				{2, 255},   // AX CX DX BX SP BP SI DI
5033				{1, 65791}, // AX CX DX BX SP BP SI DI SB
5034			},
5035			outputs: []outputInfo{
5036				{0, 239}, // AX CX DX BX BP SI DI
5037			},
5038		},
5039	},
5040	{
5041		name:         "XORLloadidx4",
5042		auxType:      auxSymOff,
5043		argLen:       4,
5044		resultInArg0: true,
5045		clobberFlags: true,
5046		symEffect:    SymRead,
5047		asm:          x86.AXORL,
5048		reg: regInfo{
5049			inputs: []inputInfo{
5050				{0, 239},   // AX CX DX BX BP SI DI
5051				{2, 255},   // AX CX DX BX SP BP SI DI
5052				{1, 65791}, // AX CX DX BX SP BP SI DI SB
5053			},
5054			outputs: []outputInfo{
5055				{0, 239}, // AX CX DX BX BP SI DI
5056			},
5057		},
5058	},
5059	{
5060		name:         "NEGL",
5061		argLen:       1,
5062		resultInArg0: true,
5063		clobberFlags: true,
5064		asm:          x86.ANEGL,
5065		reg: regInfo{
5066			inputs: []inputInfo{
5067				{0, 239}, // AX CX DX BX BP SI DI
5068			},
5069			outputs: []outputInfo{
5070				{0, 239}, // AX CX DX BX BP SI DI
5071			},
5072		},
5073	},
5074	{
5075		name:         "NOTL",
5076		argLen:       1,
5077		resultInArg0: true,
5078		asm:          x86.ANOTL,
5079		reg: regInfo{
5080			inputs: []inputInfo{
5081				{0, 239}, // AX CX DX BX BP SI DI
5082			},
5083			outputs: []outputInfo{
5084				{0, 239}, // AX CX DX BX BP SI DI
5085			},
5086		},
5087	},
5088	{
5089		name:         "BSFL",
5090		argLen:       1,
5091		clobberFlags: true,
5092		asm:          x86.ABSFL,
5093		reg: regInfo{
5094			inputs: []inputInfo{
5095				{0, 239}, // AX CX DX BX BP SI DI
5096			},
5097			outputs: []outputInfo{
5098				{0, 239}, // AX CX DX BX BP SI DI
5099			},
5100		},
5101	},
5102	{
5103		name:         "BSFW",
5104		argLen:       1,
5105		clobberFlags: true,
5106		asm:          x86.ABSFW,
5107		reg: regInfo{
5108			inputs: []inputInfo{
5109				{0, 239}, // AX CX DX BX BP SI DI
5110			},
5111			outputs: []outputInfo{
5112				{0, 239}, // AX CX DX BX BP SI DI
5113			},
5114		},
5115	},
5116	{
5117		name:         "LoweredCtz32",
5118		argLen:       1,
5119		clobberFlags: true,
5120		reg: regInfo{
5121			inputs: []inputInfo{
5122				{0, 239}, // AX CX DX BX BP SI DI
5123			},
5124			outputs: []outputInfo{
5125				{0, 239}, // AX CX DX BX BP SI DI
5126			},
5127		},
5128	},
5129	{
5130		name:         "BSRL",
5131		argLen:       1,
5132		clobberFlags: true,
5133		asm:          x86.ABSRL,
5134		reg: regInfo{
5135			inputs: []inputInfo{
5136				{0, 239}, // AX CX DX BX BP SI DI
5137			},
5138			outputs: []outputInfo{
5139				{0, 239}, // AX CX DX BX BP SI DI
5140			},
5141		},
5142	},
5143	{
5144		name:         "BSRW",
5145		argLen:       1,
5146		clobberFlags: true,
5147		asm:          x86.ABSRW,
5148		reg: regInfo{
5149			inputs: []inputInfo{
5150				{0, 239}, // AX CX DX BX BP SI DI
5151			},
5152			outputs: []outputInfo{
5153				{0, 239}, // AX CX DX BX BP SI DI
5154			},
5155		},
5156	},
5157	{
5158		name:         "BSWAPL",
5159		argLen:       1,
5160		resultInArg0: true,
5161		asm:          x86.ABSWAPL,
5162		reg: regInfo{
5163			inputs: []inputInfo{
5164				{0, 239}, // AX CX DX BX BP SI DI
5165			},
5166			outputs: []outputInfo{
5167				{0, 239}, // AX CX DX BX BP SI DI
5168			},
5169		},
5170	},
5171	{
5172		name:   "SQRTSD",
5173		argLen: 1,
5174		asm:    x86.ASQRTSD,
5175		reg: regInfo{
5176			inputs: []inputInfo{
5177				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5178			},
5179			outputs: []outputInfo{
5180				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5181			},
5182		},
5183	},
5184	{
5185		name:   "SQRTSS",
5186		argLen: 1,
5187		asm:    x86.ASQRTSS,
5188		reg: regInfo{
5189			inputs: []inputInfo{
5190				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5191			},
5192			outputs: []outputInfo{
5193				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5194			},
5195		},
5196	},
5197	{
5198		name:   "SBBLcarrymask",
5199		argLen: 1,
5200		asm:    x86.ASBBL,
5201		reg: regInfo{
5202			outputs: []outputInfo{
5203				{0, 239}, // AX CX DX BX BP SI DI
5204			},
5205		},
5206	},
5207	{
5208		name:   "SETEQ",
5209		argLen: 1,
5210		asm:    x86.ASETEQ,
5211		reg: regInfo{
5212			outputs: []outputInfo{
5213				{0, 239}, // AX CX DX BX BP SI DI
5214			},
5215		},
5216	},
5217	{
5218		name:   "SETNE",
5219		argLen: 1,
5220		asm:    x86.ASETNE,
5221		reg: regInfo{
5222			outputs: []outputInfo{
5223				{0, 239}, // AX CX DX BX BP SI DI
5224			},
5225		},
5226	},
5227	{
5228		name:   "SETL",
5229		argLen: 1,
5230		asm:    x86.ASETLT,
5231		reg: regInfo{
5232			outputs: []outputInfo{
5233				{0, 239}, // AX CX DX BX BP SI DI
5234			},
5235		},
5236	},
5237	{
5238		name:   "SETLE",
5239		argLen: 1,
5240		asm:    x86.ASETLE,
5241		reg: regInfo{
5242			outputs: []outputInfo{
5243				{0, 239}, // AX CX DX BX BP SI DI
5244			},
5245		},
5246	},
5247	{
5248		name:   "SETG",
5249		argLen: 1,
5250		asm:    x86.ASETGT,
5251		reg: regInfo{
5252			outputs: []outputInfo{
5253				{0, 239}, // AX CX DX BX BP SI DI
5254			},
5255		},
5256	},
5257	{
5258		name:   "SETGE",
5259		argLen: 1,
5260		asm:    x86.ASETGE,
5261		reg: regInfo{
5262			outputs: []outputInfo{
5263				{0, 239}, // AX CX DX BX BP SI DI
5264			},
5265		},
5266	},
5267	{
5268		name:   "SETB",
5269		argLen: 1,
5270		asm:    x86.ASETCS,
5271		reg: regInfo{
5272			outputs: []outputInfo{
5273				{0, 239}, // AX CX DX BX BP SI DI
5274			},
5275		},
5276	},
5277	{
5278		name:   "SETBE",
5279		argLen: 1,
5280		asm:    x86.ASETLS,
5281		reg: regInfo{
5282			outputs: []outputInfo{
5283				{0, 239}, // AX CX DX BX BP SI DI
5284			},
5285		},
5286	},
5287	{
5288		name:   "SETA",
5289		argLen: 1,
5290		asm:    x86.ASETHI,
5291		reg: regInfo{
5292			outputs: []outputInfo{
5293				{0, 239}, // AX CX DX BX BP SI DI
5294			},
5295		},
5296	},
5297	{
5298		name:   "SETAE",
5299		argLen: 1,
5300		asm:    x86.ASETCC,
5301		reg: regInfo{
5302			outputs: []outputInfo{
5303				{0, 239}, // AX CX DX BX BP SI DI
5304			},
5305		},
5306	},
5307	{
5308		name:   "SETO",
5309		argLen: 1,
5310		asm:    x86.ASETOS,
5311		reg: regInfo{
5312			outputs: []outputInfo{
5313				{0, 239}, // AX CX DX BX BP SI DI
5314			},
5315		},
5316	},
5317	{
5318		name:         "SETEQF",
5319		argLen:       1,
5320		clobberFlags: true,
5321		asm:          x86.ASETEQ,
5322		reg: regInfo{
5323			clobbers: 1, // AX
5324			outputs: []outputInfo{
5325				{0, 238}, // CX DX BX BP SI DI
5326			},
5327		},
5328	},
5329	{
5330		name:         "SETNEF",
5331		argLen:       1,
5332		clobberFlags: true,
5333		asm:          x86.ASETNE,
5334		reg: regInfo{
5335			clobbers: 1, // AX
5336			outputs: []outputInfo{
5337				{0, 238}, // CX DX BX BP SI DI
5338			},
5339		},
5340	},
5341	{
5342		name:   "SETORD",
5343		argLen: 1,
5344		asm:    x86.ASETPC,
5345		reg: regInfo{
5346			outputs: []outputInfo{
5347				{0, 239}, // AX CX DX BX BP SI DI
5348			},
5349		},
5350	},
5351	{
5352		name:   "SETNAN",
5353		argLen: 1,
5354		asm:    x86.ASETPS,
5355		reg: regInfo{
5356			outputs: []outputInfo{
5357				{0, 239}, // AX CX DX BX BP SI DI
5358			},
5359		},
5360	},
5361	{
5362		name:   "SETGF",
5363		argLen: 1,
5364		asm:    x86.ASETHI,
5365		reg: regInfo{
5366			outputs: []outputInfo{
5367				{0, 239}, // AX CX DX BX BP SI DI
5368			},
5369		},
5370	},
5371	{
5372		name:   "SETGEF",
5373		argLen: 1,
5374		asm:    x86.ASETCC,
5375		reg: regInfo{
5376			outputs: []outputInfo{
5377				{0, 239}, // AX CX DX BX BP SI DI
5378			},
5379		},
5380	},
5381	{
5382		name:   "MOVBLSX",
5383		argLen: 1,
5384		asm:    x86.AMOVBLSX,
5385		reg: regInfo{
5386			inputs: []inputInfo{
5387				{0, 239}, // AX CX DX BX BP SI DI
5388			},
5389			outputs: []outputInfo{
5390				{0, 239}, // AX CX DX BX BP SI DI
5391			},
5392		},
5393	},
5394	{
5395		name:   "MOVBLZX",
5396		argLen: 1,
5397		asm:    x86.AMOVBLZX,
5398		reg: regInfo{
5399			inputs: []inputInfo{
5400				{0, 239}, // AX CX DX BX BP SI DI
5401			},
5402			outputs: []outputInfo{
5403				{0, 239}, // AX CX DX BX BP SI DI
5404			},
5405		},
5406	},
5407	{
5408		name:   "MOVWLSX",
5409		argLen: 1,
5410		asm:    x86.AMOVWLSX,
5411		reg: regInfo{
5412			inputs: []inputInfo{
5413				{0, 239}, // AX CX DX BX BP SI DI
5414			},
5415			outputs: []outputInfo{
5416				{0, 239}, // AX CX DX BX BP SI DI
5417			},
5418		},
5419	},
5420	{
5421		name:   "MOVWLZX",
5422		argLen: 1,
5423		asm:    x86.AMOVWLZX,
5424		reg: regInfo{
5425			inputs: []inputInfo{
5426				{0, 239}, // AX CX DX BX BP SI DI
5427			},
5428			outputs: []outputInfo{
5429				{0, 239}, // AX CX DX BX BP SI DI
5430			},
5431		},
5432	},
5433	{
5434		name:              "MOVLconst",
5435		auxType:           auxInt32,
5436		argLen:            0,
5437		rematerializeable: true,
5438		asm:               x86.AMOVL,
5439		reg: regInfo{
5440			outputs: []outputInfo{
5441				{0, 239}, // AX CX DX BX BP SI DI
5442			},
5443		},
5444	},
5445	{
5446		name:   "CVTTSD2SL",
5447		argLen: 1,
5448		asm:    x86.ACVTTSD2SL,
5449		reg: regInfo{
5450			inputs: []inputInfo{
5451				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5452			},
5453			outputs: []outputInfo{
5454				{0, 239}, // AX CX DX BX BP SI DI
5455			},
5456		},
5457	},
5458	{
5459		name:   "CVTTSS2SL",
5460		argLen: 1,
5461		asm:    x86.ACVTTSS2SL,
5462		reg: regInfo{
5463			inputs: []inputInfo{
5464				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5465			},
5466			outputs: []outputInfo{
5467				{0, 239}, // AX CX DX BX BP SI DI
5468			},
5469		},
5470	},
5471	{
5472		name:   "CVTSL2SS",
5473		argLen: 1,
5474		asm:    x86.ACVTSL2SS,
5475		reg: regInfo{
5476			inputs: []inputInfo{
5477				{0, 239}, // AX CX DX BX BP SI DI
5478			},
5479			outputs: []outputInfo{
5480				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5481			},
5482		},
5483	},
5484	{
5485		name:   "CVTSL2SD",
5486		argLen: 1,
5487		asm:    x86.ACVTSL2SD,
5488		reg: regInfo{
5489			inputs: []inputInfo{
5490				{0, 239}, // AX CX DX BX BP SI DI
5491			},
5492			outputs: []outputInfo{
5493				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5494			},
5495		},
5496	},
5497	{
5498		name:   "CVTSD2SS",
5499		argLen: 1,
5500		asm:    x86.ACVTSD2SS,
5501		reg: regInfo{
5502			inputs: []inputInfo{
5503				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5504			},
5505			outputs: []outputInfo{
5506				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5507			},
5508		},
5509	},
5510	{
5511		name:   "CVTSS2SD",
5512		argLen: 1,
5513		asm:    x86.ACVTSS2SD,
5514		reg: regInfo{
5515			inputs: []inputInfo{
5516				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5517			},
5518			outputs: []outputInfo{
5519				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5520			},
5521		},
5522	},
5523	{
5524		name:         "PXOR",
5525		argLen:       2,
5526		commutative:  true,
5527		resultInArg0: true,
5528		asm:          x86.APXOR,
5529		reg: regInfo{
5530			inputs: []inputInfo{
5531				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5532				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5533			},
5534			outputs: []outputInfo{
5535				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
5536			},
5537		},
5538	},
5539	{
5540		name:              "LEAL",
5541		auxType:           auxSymOff,
5542		argLen:            1,
5543		rematerializeable: true,
5544		symEffect:         SymAddr,
5545		reg: regInfo{
5546			inputs: []inputInfo{
5547				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5548			},
5549			outputs: []outputInfo{
5550				{0, 239}, // AX CX DX BX BP SI DI
5551			},
5552		},
5553	},
5554	{
5555		name:        "LEAL1",
5556		auxType:     auxSymOff,
5557		argLen:      2,
5558		commutative: true,
5559		symEffect:   SymAddr,
5560		reg: regInfo{
5561			inputs: []inputInfo{
5562				{1, 255},   // AX CX DX BX SP BP SI DI
5563				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5564			},
5565			outputs: []outputInfo{
5566				{0, 239}, // AX CX DX BX BP SI DI
5567			},
5568		},
5569	},
5570	{
5571		name:      "LEAL2",
5572		auxType:   auxSymOff,
5573		argLen:    2,
5574		symEffect: SymAddr,
5575		reg: regInfo{
5576			inputs: []inputInfo{
5577				{1, 255},   // AX CX DX BX SP BP SI DI
5578				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5579			},
5580			outputs: []outputInfo{
5581				{0, 239}, // AX CX DX BX BP SI DI
5582			},
5583		},
5584	},
5585	{
5586		name:      "LEAL4",
5587		auxType:   auxSymOff,
5588		argLen:    2,
5589		symEffect: SymAddr,
5590		reg: regInfo{
5591			inputs: []inputInfo{
5592				{1, 255},   // AX CX DX BX SP BP SI DI
5593				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5594			},
5595			outputs: []outputInfo{
5596				{0, 239}, // AX CX DX BX BP SI DI
5597			},
5598		},
5599	},
5600	{
5601		name:      "LEAL8",
5602		auxType:   auxSymOff,
5603		argLen:    2,
5604		symEffect: SymAddr,
5605		reg: regInfo{
5606			inputs: []inputInfo{
5607				{1, 255},   // AX CX DX BX SP BP SI DI
5608				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5609			},
5610			outputs: []outputInfo{
5611				{0, 239}, // AX CX DX BX BP SI DI
5612			},
5613		},
5614	},
5615	{
5616		name:           "MOVBload",
5617		auxType:        auxSymOff,
5618		argLen:         2,
5619		faultOnNilArg0: true,
5620		symEffect:      SymRead,
5621		asm:            x86.AMOVBLZX,
5622		reg: regInfo{
5623			inputs: []inputInfo{
5624				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5625			},
5626			outputs: []outputInfo{
5627				{0, 239}, // AX CX DX BX BP SI DI
5628			},
5629		},
5630	},
5631	{
5632		name:           "MOVBLSXload",
5633		auxType:        auxSymOff,
5634		argLen:         2,
5635		faultOnNilArg0: true,
5636		symEffect:      SymRead,
5637		asm:            x86.AMOVBLSX,
5638		reg: regInfo{
5639			inputs: []inputInfo{
5640				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5641			},
5642			outputs: []outputInfo{
5643				{0, 239}, // AX CX DX BX BP SI DI
5644			},
5645		},
5646	},
5647	{
5648		name:           "MOVWload",
5649		auxType:        auxSymOff,
5650		argLen:         2,
5651		faultOnNilArg0: true,
5652		symEffect:      SymRead,
5653		asm:            x86.AMOVWLZX,
5654		reg: regInfo{
5655			inputs: []inputInfo{
5656				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5657			},
5658			outputs: []outputInfo{
5659				{0, 239}, // AX CX DX BX BP SI DI
5660			},
5661		},
5662	},
5663	{
5664		name:           "MOVWLSXload",
5665		auxType:        auxSymOff,
5666		argLen:         2,
5667		faultOnNilArg0: true,
5668		symEffect:      SymRead,
5669		asm:            x86.AMOVWLSX,
5670		reg: regInfo{
5671			inputs: []inputInfo{
5672				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5673			},
5674			outputs: []outputInfo{
5675				{0, 239}, // AX CX DX BX BP SI DI
5676			},
5677		},
5678	},
5679	{
5680		name:           "MOVLload",
5681		auxType:        auxSymOff,
5682		argLen:         2,
5683		faultOnNilArg0: true,
5684		symEffect:      SymRead,
5685		asm:            x86.AMOVL,
5686		reg: regInfo{
5687			inputs: []inputInfo{
5688				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5689			},
5690			outputs: []outputInfo{
5691				{0, 239}, // AX CX DX BX BP SI DI
5692			},
5693		},
5694	},
5695	{
5696		name:           "MOVBstore",
5697		auxType:        auxSymOff,
5698		argLen:         3,
5699		faultOnNilArg0: true,
5700		symEffect:      SymWrite,
5701		asm:            x86.AMOVB,
5702		reg: regInfo{
5703			inputs: []inputInfo{
5704				{1, 255},   // AX CX DX BX SP BP SI DI
5705				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5706			},
5707		},
5708	},
5709	{
5710		name:           "MOVWstore",
5711		auxType:        auxSymOff,
5712		argLen:         3,
5713		faultOnNilArg0: true,
5714		symEffect:      SymWrite,
5715		asm:            x86.AMOVW,
5716		reg: regInfo{
5717			inputs: []inputInfo{
5718				{1, 255},   // AX CX DX BX SP BP SI DI
5719				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5720			},
5721		},
5722	},
5723	{
5724		name:           "MOVLstore",
5725		auxType:        auxSymOff,
5726		argLen:         3,
5727		faultOnNilArg0: true,
5728		symEffect:      SymWrite,
5729		asm:            x86.AMOVL,
5730		reg: regInfo{
5731			inputs: []inputInfo{
5732				{1, 255},   // AX CX DX BX SP BP SI DI
5733				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5734			},
5735		},
5736	},
5737	{
5738		name:           "ADDLmodify",
5739		auxType:        auxSymOff,
5740		argLen:         3,
5741		clobberFlags:   true,
5742		faultOnNilArg0: true,
5743		symEffect:      SymRead | SymWrite,
5744		asm:            x86.AADDL,
5745		reg: regInfo{
5746			inputs: []inputInfo{
5747				{1, 255},   // AX CX DX BX SP BP SI DI
5748				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5749			},
5750		},
5751	},
5752	{
5753		name:           "SUBLmodify",
5754		auxType:        auxSymOff,
5755		argLen:         3,
5756		clobberFlags:   true,
5757		faultOnNilArg0: true,
5758		symEffect:      SymRead | SymWrite,
5759		asm:            x86.ASUBL,
5760		reg: regInfo{
5761			inputs: []inputInfo{
5762				{1, 255},   // AX CX DX BX SP BP SI DI
5763				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5764			},
5765		},
5766	},
5767	{
5768		name:           "ANDLmodify",
5769		auxType:        auxSymOff,
5770		argLen:         3,
5771		clobberFlags:   true,
5772		faultOnNilArg0: true,
5773		symEffect:      SymRead | SymWrite,
5774		asm:            x86.AANDL,
5775		reg: regInfo{
5776			inputs: []inputInfo{
5777				{1, 255},   // AX CX DX BX SP BP SI DI
5778				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5779			},
5780		},
5781	},
5782	{
5783		name:           "ORLmodify",
5784		auxType:        auxSymOff,
5785		argLen:         3,
5786		clobberFlags:   true,
5787		faultOnNilArg0: true,
5788		symEffect:      SymRead | SymWrite,
5789		asm:            x86.AORL,
5790		reg: regInfo{
5791			inputs: []inputInfo{
5792				{1, 255},   // AX CX DX BX SP BP SI DI
5793				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5794			},
5795		},
5796	},
5797	{
5798		name:           "XORLmodify",
5799		auxType:        auxSymOff,
5800		argLen:         3,
5801		clobberFlags:   true,
5802		faultOnNilArg0: true,
5803		symEffect:      SymRead | SymWrite,
5804		asm:            x86.AXORL,
5805		reg: regInfo{
5806			inputs: []inputInfo{
5807				{1, 255},   // AX CX DX BX SP BP SI DI
5808				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5809			},
5810		},
5811	},
5812	{
5813		name:         "ADDLmodifyidx4",
5814		auxType:      auxSymOff,
5815		argLen:       4,
5816		clobberFlags: true,
5817		symEffect:    SymRead | SymWrite,
5818		asm:          x86.AADDL,
5819		reg: regInfo{
5820			inputs: []inputInfo{
5821				{1, 255},   // AX CX DX BX SP BP SI DI
5822				{2, 255},   // AX CX DX BX SP BP SI DI
5823				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5824			},
5825		},
5826	},
5827	{
5828		name:         "SUBLmodifyidx4",
5829		auxType:      auxSymOff,
5830		argLen:       4,
5831		clobberFlags: true,
5832		symEffect:    SymRead | SymWrite,
5833		asm:          x86.ASUBL,
5834		reg: regInfo{
5835			inputs: []inputInfo{
5836				{1, 255},   // AX CX DX BX SP BP SI DI
5837				{2, 255},   // AX CX DX BX SP BP SI DI
5838				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5839			},
5840		},
5841	},
5842	{
5843		name:         "ANDLmodifyidx4",
5844		auxType:      auxSymOff,
5845		argLen:       4,
5846		clobberFlags: true,
5847		symEffect:    SymRead | SymWrite,
5848		asm:          x86.AANDL,
5849		reg: regInfo{
5850			inputs: []inputInfo{
5851				{1, 255},   // AX CX DX BX SP BP SI DI
5852				{2, 255},   // AX CX DX BX SP BP SI DI
5853				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5854			},
5855		},
5856	},
5857	{
5858		name:         "ORLmodifyidx4",
5859		auxType:      auxSymOff,
5860		argLen:       4,
5861		clobberFlags: true,
5862		symEffect:    SymRead | SymWrite,
5863		asm:          x86.AORL,
5864		reg: regInfo{
5865			inputs: []inputInfo{
5866				{1, 255},   // AX CX DX BX SP BP SI DI
5867				{2, 255},   // AX CX DX BX SP BP SI DI
5868				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5869			},
5870		},
5871	},
5872	{
5873		name:         "XORLmodifyidx4",
5874		auxType:      auxSymOff,
5875		argLen:       4,
5876		clobberFlags: true,
5877		symEffect:    SymRead | SymWrite,
5878		asm:          x86.AXORL,
5879		reg: regInfo{
5880			inputs: []inputInfo{
5881				{1, 255},   // AX CX DX BX SP BP SI DI
5882				{2, 255},   // AX CX DX BX SP BP SI DI
5883				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5884			},
5885		},
5886	},
5887	{
5888		name:           "ADDLconstmodify",
5889		auxType:        auxSymValAndOff,
5890		argLen:         2,
5891		clobberFlags:   true,
5892		faultOnNilArg0: true,
5893		symEffect:      SymRead | SymWrite,
5894		asm:            x86.AADDL,
5895		reg: regInfo{
5896			inputs: []inputInfo{
5897				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5898			},
5899		},
5900	},
5901	{
5902		name:           "ANDLconstmodify",
5903		auxType:        auxSymValAndOff,
5904		argLen:         2,
5905		clobberFlags:   true,
5906		faultOnNilArg0: true,
5907		symEffect:      SymRead | SymWrite,
5908		asm:            x86.AANDL,
5909		reg: regInfo{
5910			inputs: []inputInfo{
5911				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5912			},
5913		},
5914	},
5915	{
5916		name:           "ORLconstmodify",
5917		auxType:        auxSymValAndOff,
5918		argLen:         2,
5919		clobberFlags:   true,
5920		faultOnNilArg0: true,
5921		symEffect:      SymRead | SymWrite,
5922		asm:            x86.AORL,
5923		reg: regInfo{
5924			inputs: []inputInfo{
5925				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5926			},
5927		},
5928	},
5929	{
5930		name:           "XORLconstmodify",
5931		auxType:        auxSymValAndOff,
5932		argLen:         2,
5933		clobberFlags:   true,
5934		faultOnNilArg0: true,
5935		symEffect:      SymRead | SymWrite,
5936		asm:            x86.AXORL,
5937		reg: regInfo{
5938			inputs: []inputInfo{
5939				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5940			},
5941		},
5942	},
5943	{
5944		name:         "ADDLconstmodifyidx4",
5945		auxType:      auxSymValAndOff,
5946		argLen:       3,
5947		clobberFlags: true,
5948		symEffect:    SymRead | SymWrite,
5949		asm:          x86.AADDL,
5950		reg: regInfo{
5951			inputs: []inputInfo{
5952				{1, 255},   // AX CX DX BX SP BP SI DI
5953				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5954			},
5955		},
5956	},
5957	{
5958		name:         "ANDLconstmodifyidx4",
5959		auxType:      auxSymValAndOff,
5960		argLen:       3,
5961		clobberFlags: true,
5962		symEffect:    SymRead | SymWrite,
5963		asm:          x86.AANDL,
5964		reg: regInfo{
5965			inputs: []inputInfo{
5966				{1, 255},   // AX CX DX BX SP BP SI DI
5967				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5968			},
5969		},
5970	},
5971	{
5972		name:         "ORLconstmodifyidx4",
5973		auxType:      auxSymValAndOff,
5974		argLen:       3,
5975		clobberFlags: true,
5976		symEffect:    SymRead | SymWrite,
5977		asm:          x86.AORL,
5978		reg: regInfo{
5979			inputs: []inputInfo{
5980				{1, 255},   // AX CX DX BX SP BP SI DI
5981				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5982			},
5983		},
5984	},
5985	{
5986		name:         "XORLconstmodifyidx4",
5987		auxType:      auxSymValAndOff,
5988		argLen:       3,
5989		clobberFlags: true,
5990		symEffect:    SymRead | SymWrite,
5991		asm:          x86.AXORL,
5992		reg: regInfo{
5993			inputs: []inputInfo{
5994				{1, 255},   // AX CX DX BX SP BP SI DI
5995				{0, 65791}, // AX CX DX BX SP BP SI DI SB
5996			},
5997		},
5998	},
5999	{
6000		name:        "MOVBloadidx1",
6001		auxType:     auxSymOff,
6002		argLen:      3,
6003		commutative: true,
6004		symEffect:   SymRead,
6005		asm:         x86.AMOVBLZX,
6006		reg: regInfo{
6007			inputs: []inputInfo{
6008				{1, 255},   // AX CX DX BX SP BP SI DI
6009				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6010			},
6011			outputs: []outputInfo{
6012				{0, 239}, // AX CX DX BX BP SI DI
6013			},
6014		},
6015	},
6016	{
6017		name:        "MOVWloadidx1",
6018		auxType:     auxSymOff,
6019		argLen:      3,
6020		commutative: true,
6021		symEffect:   SymRead,
6022		asm:         x86.AMOVWLZX,
6023		reg: regInfo{
6024			inputs: []inputInfo{
6025				{1, 255},   // AX CX DX BX SP BP SI DI
6026				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6027			},
6028			outputs: []outputInfo{
6029				{0, 239}, // AX CX DX BX BP SI DI
6030			},
6031		},
6032	},
6033	{
6034		name:      "MOVWloadidx2",
6035		auxType:   auxSymOff,
6036		argLen:    3,
6037		symEffect: SymRead,
6038		asm:       x86.AMOVWLZX,
6039		reg: regInfo{
6040			inputs: []inputInfo{
6041				{1, 255},   // AX CX DX BX SP BP SI DI
6042				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6043			},
6044			outputs: []outputInfo{
6045				{0, 239}, // AX CX DX BX BP SI DI
6046			},
6047		},
6048	},
6049	{
6050		name:        "MOVLloadidx1",
6051		auxType:     auxSymOff,
6052		argLen:      3,
6053		commutative: true,
6054		symEffect:   SymRead,
6055		asm:         x86.AMOVL,
6056		reg: regInfo{
6057			inputs: []inputInfo{
6058				{1, 255},   // AX CX DX BX SP BP SI DI
6059				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6060			},
6061			outputs: []outputInfo{
6062				{0, 239}, // AX CX DX BX BP SI DI
6063			},
6064		},
6065	},
6066	{
6067		name:      "MOVLloadidx4",
6068		auxType:   auxSymOff,
6069		argLen:    3,
6070		symEffect: SymRead,
6071		asm:       x86.AMOVL,
6072		reg: regInfo{
6073			inputs: []inputInfo{
6074				{1, 255},   // AX CX DX BX SP BP SI DI
6075				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6076			},
6077			outputs: []outputInfo{
6078				{0, 239}, // AX CX DX BX BP SI DI
6079			},
6080		},
6081	},
6082	{
6083		name:        "MOVBstoreidx1",
6084		auxType:     auxSymOff,
6085		argLen:      4,
6086		commutative: true,
6087		symEffect:   SymWrite,
6088		asm:         x86.AMOVB,
6089		reg: regInfo{
6090			inputs: []inputInfo{
6091				{1, 255},   // AX CX DX BX SP BP SI DI
6092				{2, 255},   // AX CX DX BX SP BP SI DI
6093				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6094			},
6095		},
6096	},
6097	{
6098		name:        "MOVWstoreidx1",
6099		auxType:     auxSymOff,
6100		argLen:      4,
6101		commutative: true,
6102		symEffect:   SymWrite,
6103		asm:         x86.AMOVW,
6104		reg: regInfo{
6105			inputs: []inputInfo{
6106				{1, 255},   // AX CX DX BX SP BP SI DI
6107				{2, 255},   // AX CX DX BX SP BP SI DI
6108				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6109			},
6110		},
6111	},
6112	{
6113		name:      "MOVWstoreidx2",
6114		auxType:   auxSymOff,
6115		argLen:    4,
6116		symEffect: SymWrite,
6117		asm:       x86.AMOVW,
6118		reg: regInfo{
6119			inputs: []inputInfo{
6120				{1, 255},   // AX CX DX BX SP BP SI DI
6121				{2, 255},   // AX CX DX BX SP BP SI DI
6122				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6123			},
6124		},
6125	},
6126	{
6127		name:        "MOVLstoreidx1",
6128		auxType:     auxSymOff,
6129		argLen:      4,
6130		commutative: true,
6131		symEffect:   SymWrite,
6132		asm:         x86.AMOVL,
6133		reg: regInfo{
6134			inputs: []inputInfo{
6135				{1, 255},   // AX CX DX BX SP BP SI DI
6136				{2, 255},   // AX CX DX BX SP BP SI DI
6137				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6138			},
6139		},
6140	},
6141	{
6142		name:      "MOVLstoreidx4",
6143		auxType:   auxSymOff,
6144		argLen:    4,
6145		symEffect: SymWrite,
6146		asm:       x86.AMOVL,
6147		reg: regInfo{
6148			inputs: []inputInfo{
6149				{1, 255},   // AX CX DX BX SP BP SI DI
6150				{2, 255},   // AX CX DX BX SP BP SI DI
6151				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6152			},
6153		},
6154	},
6155	{
6156		name:           "MOVBstoreconst",
6157		auxType:        auxSymValAndOff,
6158		argLen:         2,
6159		faultOnNilArg0: true,
6160		symEffect:      SymWrite,
6161		asm:            x86.AMOVB,
6162		reg: regInfo{
6163			inputs: []inputInfo{
6164				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6165			},
6166		},
6167	},
6168	{
6169		name:           "MOVWstoreconst",
6170		auxType:        auxSymValAndOff,
6171		argLen:         2,
6172		faultOnNilArg0: true,
6173		symEffect:      SymWrite,
6174		asm:            x86.AMOVW,
6175		reg: regInfo{
6176			inputs: []inputInfo{
6177				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6178			},
6179		},
6180	},
6181	{
6182		name:           "MOVLstoreconst",
6183		auxType:        auxSymValAndOff,
6184		argLen:         2,
6185		faultOnNilArg0: true,
6186		symEffect:      SymWrite,
6187		asm:            x86.AMOVL,
6188		reg: regInfo{
6189			inputs: []inputInfo{
6190				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6191			},
6192		},
6193	},
6194	{
6195		name:      "MOVBstoreconstidx1",
6196		auxType:   auxSymValAndOff,
6197		argLen:    3,
6198		symEffect: SymWrite,
6199		asm:       x86.AMOVB,
6200		reg: regInfo{
6201			inputs: []inputInfo{
6202				{1, 255},   // AX CX DX BX SP BP SI DI
6203				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6204			},
6205		},
6206	},
6207	{
6208		name:      "MOVWstoreconstidx1",
6209		auxType:   auxSymValAndOff,
6210		argLen:    3,
6211		symEffect: SymWrite,
6212		asm:       x86.AMOVW,
6213		reg: regInfo{
6214			inputs: []inputInfo{
6215				{1, 255},   // AX CX DX BX SP BP SI DI
6216				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6217			},
6218		},
6219	},
6220	{
6221		name:      "MOVWstoreconstidx2",
6222		auxType:   auxSymValAndOff,
6223		argLen:    3,
6224		symEffect: SymWrite,
6225		asm:       x86.AMOVW,
6226		reg: regInfo{
6227			inputs: []inputInfo{
6228				{1, 255},   // AX CX DX BX SP BP SI DI
6229				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6230			},
6231		},
6232	},
6233	{
6234		name:      "MOVLstoreconstidx1",
6235		auxType:   auxSymValAndOff,
6236		argLen:    3,
6237		symEffect: SymWrite,
6238		asm:       x86.AMOVL,
6239		reg: regInfo{
6240			inputs: []inputInfo{
6241				{1, 255},   // AX CX DX BX SP BP SI DI
6242				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6243			},
6244		},
6245	},
6246	{
6247		name:      "MOVLstoreconstidx4",
6248		auxType:   auxSymValAndOff,
6249		argLen:    3,
6250		symEffect: SymWrite,
6251		asm:       x86.AMOVL,
6252		reg: regInfo{
6253			inputs: []inputInfo{
6254				{1, 255},   // AX CX DX BX SP BP SI DI
6255				{0, 65791}, // AX CX DX BX SP BP SI DI SB
6256			},
6257		},
6258	},
6259	{
6260		name:           "DUFFZERO",
6261		auxType:        auxInt64,
6262		argLen:         3,
6263		faultOnNilArg0: true,
6264		reg: regInfo{
6265			inputs: []inputInfo{
6266				{0, 128}, // DI
6267				{1, 1},   // AX
6268			},
6269			clobbers: 130, // CX DI
6270		},
6271	},
6272	{
6273		name:           "REPSTOSL",
6274		argLen:         4,
6275		faultOnNilArg0: true,
6276		reg: regInfo{
6277			inputs: []inputInfo{
6278				{0, 128}, // DI
6279				{1, 2},   // CX
6280				{2, 1},   // AX
6281			},
6282			clobbers: 130, // CX DI
6283		},
6284	},
6285	{
6286		name:         "CALLstatic",
6287		auxType:      auxCallOff,
6288		argLen:       1,
6289		clobberFlags: true,
6290		call:         true,
6291		reg: regInfo{
6292			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
6293		},
6294	},
6295	{
6296		name:         "CALLtail",
6297		auxType:      auxCallOff,
6298		argLen:       1,
6299		clobberFlags: true,
6300		call:         true,
6301		tailCall:     true,
6302		reg: regInfo{
6303			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
6304		},
6305	},
6306	{
6307		name:         "CALLclosure",
6308		auxType:      auxCallOff,
6309		argLen:       3,
6310		clobberFlags: true,
6311		call:         true,
6312		reg: regInfo{
6313			inputs: []inputInfo{
6314				{1, 4},   // DX
6315				{0, 255}, // AX CX DX BX SP BP SI DI
6316			},
6317			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
6318		},
6319	},
6320	{
6321		name:         "CALLinter",
6322		auxType:      auxCallOff,
6323		argLen:       2,
6324		clobberFlags: true,
6325		call:         true,
6326		reg: regInfo{
6327			inputs: []inputInfo{
6328				{0, 239}, // AX CX DX BX BP SI DI
6329			},
6330			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
6331		},
6332	},
6333	{
6334		name:           "DUFFCOPY",
6335		auxType:        auxInt64,
6336		argLen:         3,
6337		clobberFlags:   true,
6338		faultOnNilArg0: true,
6339		faultOnNilArg1: true,
6340		reg: regInfo{
6341			inputs: []inputInfo{
6342				{0, 128}, // DI
6343				{1, 64},  // SI
6344			},
6345			clobbers: 194, // CX SI DI
6346		},
6347	},
6348	{
6349		name:           "REPMOVSL",
6350		argLen:         4,
6351		faultOnNilArg0: true,
6352		faultOnNilArg1: true,
6353		reg: regInfo{
6354			inputs: []inputInfo{
6355				{0, 128}, // DI
6356				{1, 64},  // SI
6357				{2, 2},   // CX
6358			},
6359			clobbers: 194, // CX SI DI
6360		},
6361	},
6362	{
6363		name:   "InvertFlags",
6364		argLen: 1,
6365		reg:    regInfo{},
6366	},
6367	{
6368		name:   "LoweredGetG",
6369		argLen: 1,
6370		reg: regInfo{
6371			outputs: []outputInfo{
6372				{0, 239}, // AX CX DX BX BP SI DI
6373			},
6374		},
6375	},
6376	{
6377		name:      "LoweredGetClosurePtr",
6378		argLen:    0,
6379		zeroWidth: true,
6380		reg: regInfo{
6381			outputs: []outputInfo{
6382				{0, 4}, // DX
6383			},
6384		},
6385	},
6386	{
6387		name:              "LoweredGetCallerPC",
6388		argLen:            0,
6389		rematerializeable: true,
6390		reg: regInfo{
6391			outputs: []outputInfo{
6392				{0, 239}, // AX CX DX BX BP SI DI
6393			},
6394		},
6395	},
6396	{
6397		name:              "LoweredGetCallerSP",
6398		argLen:            1,
6399		rematerializeable: true,
6400		reg: regInfo{
6401			outputs: []outputInfo{
6402				{0, 239}, // AX CX DX BX BP SI DI
6403			},
6404		},
6405	},
6406	{
6407		name:           "LoweredNilCheck",
6408		argLen:         2,
6409		clobberFlags:   true,
6410		nilCheck:       true,
6411		faultOnNilArg0: true,
6412		reg: regInfo{
6413			inputs: []inputInfo{
6414				{0, 255}, // AX CX DX BX SP BP SI DI
6415			},
6416		},
6417	},
6418	{
6419		name:         "LoweredWB",
6420		auxType:      auxInt64,
6421		argLen:       1,
6422		clobberFlags: true,
6423		reg: regInfo{
6424			clobbers: 65280, // X0 X1 X2 X3 X4 X5 X6 X7
6425			outputs: []outputInfo{
6426				{0, 128}, // DI
6427			},
6428		},
6429	},
6430	{
6431		name:    "LoweredPanicBoundsA",
6432		auxType: auxInt64,
6433		argLen:  3,
6434		call:    true,
6435		reg: regInfo{
6436			inputs: []inputInfo{
6437				{0, 4}, // DX
6438				{1, 8}, // BX
6439			},
6440		},
6441	},
6442	{
6443		name:    "LoweredPanicBoundsB",
6444		auxType: auxInt64,
6445		argLen:  3,
6446		call:    true,
6447		reg: regInfo{
6448			inputs: []inputInfo{
6449				{0, 2}, // CX
6450				{1, 4}, // DX
6451			},
6452		},
6453	},
6454	{
6455		name:    "LoweredPanicBoundsC",
6456		auxType: auxInt64,
6457		argLen:  3,
6458		call:    true,
6459		reg: regInfo{
6460			inputs: []inputInfo{
6461				{0, 1}, // AX
6462				{1, 2}, // CX
6463			},
6464		},
6465	},
6466	{
6467		name:    "LoweredPanicExtendA",
6468		auxType: auxInt64,
6469		argLen:  4,
6470		call:    true,
6471		reg: regInfo{
6472			inputs: []inputInfo{
6473				{0, 64}, // SI
6474				{1, 4},  // DX
6475				{2, 8},  // BX
6476			},
6477		},
6478	},
6479	{
6480		name:    "LoweredPanicExtendB",
6481		auxType: auxInt64,
6482		argLen:  4,
6483		call:    true,
6484		reg: regInfo{
6485			inputs: []inputInfo{
6486				{0, 64}, // SI
6487				{1, 2},  // CX
6488				{2, 4},  // DX
6489			},
6490		},
6491	},
6492	{
6493		name:    "LoweredPanicExtendC",
6494		auxType: auxInt64,
6495		argLen:  4,
6496		call:    true,
6497		reg: regInfo{
6498			inputs: []inputInfo{
6499				{0, 64}, // SI
6500				{1, 1},  // AX
6501				{2, 2},  // CX
6502			},
6503		},
6504	},
6505	{
6506		name:   "FlagEQ",
6507		argLen: 0,
6508		reg:    regInfo{},
6509	},
6510	{
6511		name:   "FlagLT_ULT",
6512		argLen: 0,
6513		reg:    regInfo{},
6514	},
6515	{
6516		name:   "FlagLT_UGT",
6517		argLen: 0,
6518		reg:    regInfo{},
6519	},
6520	{
6521		name:   "FlagGT_UGT",
6522		argLen: 0,
6523		reg:    regInfo{},
6524	},
6525	{
6526		name:   "FlagGT_ULT",
6527		argLen: 0,
6528		reg:    regInfo{},
6529	},
6530	{
6531		name:    "MOVSSconst1",
6532		auxType: auxFloat32,
6533		argLen:  0,
6534		reg: regInfo{
6535			outputs: []outputInfo{
6536				{0, 239}, // AX CX DX BX BP SI DI
6537			},
6538		},
6539	},
6540	{
6541		name:    "MOVSDconst1",
6542		auxType: auxFloat64,
6543		argLen:  0,
6544		reg: regInfo{
6545			outputs: []outputInfo{
6546				{0, 239}, // AX CX DX BX BP SI DI
6547			},
6548		},
6549	},
6550	{
6551		name:   "MOVSSconst2",
6552		argLen: 1,
6553		asm:    x86.AMOVSS,
6554		reg: regInfo{
6555			inputs: []inputInfo{
6556				{0, 239}, // AX CX DX BX BP SI DI
6557			},
6558			outputs: []outputInfo{
6559				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
6560			},
6561		},
6562	},
6563	{
6564		name:   "MOVSDconst2",
6565		argLen: 1,
6566		asm:    x86.AMOVSD,
6567		reg: regInfo{
6568			inputs: []inputInfo{
6569				{0, 239}, // AX CX DX BX BP SI DI
6570			},
6571			outputs: []outputInfo{
6572				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
6573			},
6574		},
6575	},
6576
6577	{
6578		name:         "ADDSS",
6579		argLen:       2,
6580		commutative:  true,
6581		resultInArg0: true,
6582		asm:          x86.AADDSS,
6583		reg: regInfo{
6584			inputs: []inputInfo{
6585				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6586				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6587			},
6588			outputs: []outputInfo{
6589				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6590			},
6591		},
6592	},
6593	{
6594		name:         "ADDSD",
6595		argLen:       2,
6596		commutative:  true,
6597		resultInArg0: true,
6598		asm:          x86.AADDSD,
6599		reg: regInfo{
6600			inputs: []inputInfo{
6601				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6602				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6603			},
6604			outputs: []outputInfo{
6605				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6606			},
6607		},
6608	},
6609	{
6610		name:         "SUBSS",
6611		argLen:       2,
6612		resultInArg0: true,
6613		asm:          x86.ASUBSS,
6614		reg: regInfo{
6615			inputs: []inputInfo{
6616				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6617				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6618			},
6619			outputs: []outputInfo{
6620				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6621			},
6622		},
6623	},
6624	{
6625		name:         "SUBSD",
6626		argLen:       2,
6627		resultInArg0: true,
6628		asm:          x86.ASUBSD,
6629		reg: regInfo{
6630			inputs: []inputInfo{
6631				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6632				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6633			},
6634			outputs: []outputInfo{
6635				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6636			},
6637		},
6638	},
6639	{
6640		name:         "MULSS",
6641		argLen:       2,
6642		commutative:  true,
6643		resultInArg0: true,
6644		asm:          x86.AMULSS,
6645		reg: regInfo{
6646			inputs: []inputInfo{
6647				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6648				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6649			},
6650			outputs: []outputInfo{
6651				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6652			},
6653		},
6654	},
6655	{
6656		name:         "MULSD",
6657		argLen:       2,
6658		commutative:  true,
6659		resultInArg0: true,
6660		asm:          x86.AMULSD,
6661		reg: regInfo{
6662			inputs: []inputInfo{
6663				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6664				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6665			},
6666			outputs: []outputInfo{
6667				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6668			},
6669		},
6670	},
6671	{
6672		name:         "DIVSS",
6673		argLen:       2,
6674		resultInArg0: true,
6675		asm:          x86.ADIVSS,
6676		reg: regInfo{
6677			inputs: []inputInfo{
6678				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6679				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6680			},
6681			outputs: []outputInfo{
6682				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6683			},
6684		},
6685	},
6686	{
6687		name:         "DIVSD",
6688		argLen:       2,
6689		resultInArg0: true,
6690		asm:          x86.ADIVSD,
6691		reg: regInfo{
6692			inputs: []inputInfo{
6693				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6694				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6695			},
6696			outputs: []outputInfo{
6697				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6698			},
6699		},
6700	},
6701	{
6702		name:           "MOVSSload",
6703		auxType:        auxSymOff,
6704		argLen:         2,
6705		faultOnNilArg0: true,
6706		symEffect:      SymRead,
6707		asm:            x86.AMOVSS,
6708		reg: regInfo{
6709			inputs: []inputInfo{
6710				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6711			},
6712			outputs: []outputInfo{
6713				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6714			},
6715		},
6716	},
6717	{
6718		name:           "MOVSDload",
6719		auxType:        auxSymOff,
6720		argLen:         2,
6721		faultOnNilArg0: true,
6722		symEffect:      SymRead,
6723		asm:            x86.AMOVSD,
6724		reg: regInfo{
6725			inputs: []inputInfo{
6726				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6727			},
6728			outputs: []outputInfo{
6729				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6730			},
6731		},
6732	},
6733	{
6734		name:              "MOVSSconst",
6735		auxType:           auxFloat32,
6736		argLen:            0,
6737		rematerializeable: true,
6738		asm:               x86.AMOVSS,
6739		reg: regInfo{
6740			outputs: []outputInfo{
6741				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6742			},
6743		},
6744	},
6745	{
6746		name:              "MOVSDconst",
6747		auxType:           auxFloat64,
6748		argLen:            0,
6749		rematerializeable: true,
6750		asm:               x86.AMOVSD,
6751		reg: regInfo{
6752			outputs: []outputInfo{
6753				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6754			},
6755		},
6756	},
6757	{
6758		name:      "MOVSSloadidx1",
6759		auxType:   auxSymOff,
6760		argLen:    3,
6761		symEffect: SymRead,
6762		asm:       x86.AMOVSS,
6763		scale:     1,
6764		reg: regInfo{
6765			inputs: []inputInfo{
6766				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6767				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6768			},
6769			outputs: []outputInfo{
6770				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6771			},
6772		},
6773	},
6774	{
6775		name:      "MOVSSloadidx4",
6776		auxType:   auxSymOff,
6777		argLen:    3,
6778		symEffect: SymRead,
6779		asm:       x86.AMOVSS,
6780		scale:     4,
6781		reg: regInfo{
6782			inputs: []inputInfo{
6783				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6784				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6785			},
6786			outputs: []outputInfo{
6787				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6788			},
6789		},
6790	},
6791	{
6792		name:      "MOVSDloadidx1",
6793		auxType:   auxSymOff,
6794		argLen:    3,
6795		symEffect: SymRead,
6796		asm:       x86.AMOVSD,
6797		scale:     1,
6798		reg: regInfo{
6799			inputs: []inputInfo{
6800				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6801				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6802			},
6803			outputs: []outputInfo{
6804				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6805			},
6806		},
6807	},
6808	{
6809		name:      "MOVSDloadidx8",
6810		auxType:   auxSymOff,
6811		argLen:    3,
6812		symEffect: SymRead,
6813		asm:       x86.AMOVSD,
6814		scale:     8,
6815		reg: regInfo{
6816			inputs: []inputInfo{
6817				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6818				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6819			},
6820			outputs: []outputInfo{
6821				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6822			},
6823		},
6824	},
6825	{
6826		name:           "MOVSSstore",
6827		auxType:        auxSymOff,
6828		argLen:         3,
6829		faultOnNilArg0: true,
6830		symEffect:      SymWrite,
6831		asm:            x86.AMOVSS,
6832		reg: regInfo{
6833			inputs: []inputInfo{
6834				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6835				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6836			},
6837		},
6838	},
6839	{
6840		name:           "MOVSDstore",
6841		auxType:        auxSymOff,
6842		argLen:         3,
6843		faultOnNilArg0: true,
6844		symEffect:      SymWrite,
6845		asm:            x86.AMOVSD,
6846		reg: regInfo{
6847			inputs: []inputInfo{
6848				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6849				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6850			},
6851		},
6852	},
6853	{
6854		name:      "MOVSSstoreidx1",
6855		auxType:   auxSymOff,
6856		argLen:    4,
6857		symEffect: SymWrite,
6858		asm:       x86.AMOVSS,
6859		scale:     1,
6860		reg: regInfo{
6861			inputs: []inputInfo{
6862				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6863				{2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6864				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6865			},
6866		},
6867	},
6868	{
6869		name:      "MOVSSstoreidx4",
6870		auxType:   auxSymOff,
6871		argLen:    4,
6872		symEffect: SymWrite,
6873		asm:       x86.AMOVSS,
6874		scale:     4,
6875		reg: regInfo{
6876			inputs: []inputInfo{
6877				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6878				{2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6879				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6880			},
6881		},
6882	},
6883	{
6884		name:      "MOVSDstoreidx1",
6885		auxType:   auxSymOff,
6886		argLen:    4,
6887		symEffect: SymWrite,
6888		asm:       x86.AMOVSD,
6889		scale:     1,
6890		reg: regInfo{
6891			inputs: []inputInfo{
6892				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6893				{2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6894				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6895			},
6896		},
6897	},
6898	{
6899		name:      "MOVSDstoreidx8",
6900		auxType:   auxSymOff,
6901		argLen:    4,
6902		symEffect: SymWrite,
6903		asm:       x86.AMOVSD,
6904		scale:     8,
6905		reg: regInfo{
6906			inputs: []inputInfo{
6907				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
6908				{2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6909				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
6910			},
6911		},
6912	},
6913	{
6914		name:           "ADDSSload",
6915		auxType:        auxSymOff,
6916		argLen:         3,
6917		resultInArg0:   true,
6918		faultOnNilArg1: true,
6919		symEffect:      SymRead,
6920		asm:            x86.AADDSS,
6921		reg: regInfo{
6922			inputs: []inputInfo{
6923				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6924				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6925			},
6926			outputs: []outputInfo{
6927				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6928			},
6929		},
6930	},
6931	{
6932		name:           "ADDSDload",
6933		auxType:        auxSymOff,
6934		argLen:         3,
6935		resultInArg0:   true,
6936		faultOnNilArg1: true,
6937		symEffect:      SymRead,
6938		asm:            x86.AADDSD,
6939		reg: regInfo{
6940			inputs: []inputInfo{
6941				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6942				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6943			},
6944			outputs: []outputInfo{
6945				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6946			},
6947		},
6948	},
6949	{
6950		name:           "SUBSSload",
6951		auxType:        auxSymOff,
6952		argLen:         3,
6953		resultInArg0:   true,
6954		faultOnNilArg1: true,
6955		symEffect:      SymRead,
6956		asm:            x86.ASUBSS,
6957		reg: regInfo{
6958			inputs: []inputInfo{
6959				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6960				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6961			},
6962			outputs: []outputInfo{
6963				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6964			},
6965		},
6966	},
6967	{
6968		name:           "SUBSDload",
6969		auxType:        auxSymOff,
6970		argLen:         3,
6971		resultInArg0:   true,
6972		faultOnNilArg1: true,
6973		symEffect:      SymRead,
6974		asm:            x86.ASUBSD,
6975		reg: regInfo{
6976			inputs: []inputInfo{
6977				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6978				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6979			},
6980			outputs: []outputInfo{
6981				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6982			},
6983		},
6984	},
6985	{
6986		name:           "MULSSload",
6987		auxType:        auxSymOff,
6988		argLen:         3,
6989		resultInArg0:   true,
6990		faultOnNilArg1: true,
6991		symEffect:      SymRead,
6992		asm:            x86.AMULSS,
6993		reg: regInfo{
6994			inputs: []inputInfo{
6995				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
6996				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
6997			},
6998			outputs: []outputInfo{
6999				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7000			},
7001		},
7002	},
7003	{
7004		name:           "MULSDload",
7005		auxType:        auxSymOff,
7006		argLen:         3,
7007		resultInArg0:   true,
7008		faultOnNilArg1: true,
7009		symEffect:      SymRead,
7010		asm:            x86.AMULSD,
7011		reg: regInfo{
7012			inputs: []inputInfo{
7013				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7014				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7015			},
7016			outputs: []outputInfo{
7017				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7018			},
7019		},
7020	},
7021	{
7022		name:           "DIVSSload",
7023		auxType:        auxSymOff,
7024		argLen:         3,
7025		resultInArg0:   true,
7026		faultOnNilArg1: true,
7027		symEffect:      SymRead,
7028		asm:            x86.ADIVSS,
7029		reg: regInfo{
7030			inputs: []inputInfo{
7031				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7032				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7033			},
7034			outputs: []outputInfo{
7035				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7036			},
7037		},
7038	},
7039	{
7040		name:           "DIVSDload",
7041		auxType:        auxSymOff,
7042		argLen:         3,
7043		resultInArg0:   true,
7044		faultOnNilArg1: true,
7045		symEffect:      SymRead,
7046		asm:            x86.ADIVSD,
7047		reg: regInfo{
7048			inputs: []inputInfo{
7049				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7050				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7051			},
7052			outputs: []outputInfo{
7053				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7054			},
7055		},
7056	},
7057	{
7058		name:         "ADDSSloadidx1",
7059		auxType:      auxSymOff,
7060		argLen:       4,
7061		resultInArg0: true,
7062		symEffect:    SymRead,
7063		asm:          x86.AADDSS,
7064		scale:        1,
7065		reg: regInfo{
7066			inputs: []inputInfo{
7067				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7068				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7069				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7070			},
7071			outputs: []outputInfo{
7072				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7073			},
7074		},
7075	},
7076	{
7077		name:         "ADDSSloadidx4",
7078		auxType:      auxSymOff,
7079		argLen:       4,
7080		resultInArg0: true,
7081		symEffect:    SymRead,
7082		asm:          x86.AADDSS,
7083		scale:        4,
7084		reg: regInfo{
7085			inputs: []inputInfo{
7086				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7087				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7088				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7089			},
7090			outputs: []outputInfo{
7091				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7092			},
7093		},
7094	},
7095	{
7096		name:         "ADDSDloadidx1",
7097		auxType:      auxSymOff,
7098		argLen:       4,
7099		resultInArg0: true,
7100		symEffect:    SymRead,
7101		asm:          x86.AADDSD,
7102		scale:        1,
7103		reg: regInfo{
7104			inputs: []inputInfo{
7105				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7106				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7107				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7108			},
7109			outputs: []outputInfo{
7110				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7111			},
7112		},
7113	},
7114	{
7115		name:         "ADDSDloadidx8",
7116		auxType:      auxSymOff,
7117		argLen:       4,
7118		resultInArg0: true,
7119		symEffect:    SymRead,
7120		asm:          x86.AADDSD,
7121		scale:        8,
7122		reg: regInfo{
7123			inputs: []inputInfo{
7124				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7125				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7126				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7127			},
7128			outputs: []outputInfo{
7129				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7130			},
7131		},
7132	},
7133	{
7134		name:         "SUBSSloadidx1",
7135		auxType:      auxSymOff,
7136		argLen:       4,
7137		resultInArg0: true,
7138		symEffect:    SymRead,
7139		asm:          x86.ASUBSS,
7140		scale:        1,
7141		reg: regInfo{
7142			inputs: []inputInfo{
7143				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7144				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7145				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7146			},
7147			outputs: []outputInfo{
7148				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7149			},
7150		},
7151	},
7152	{
7153		name:         "SUBSSloadidx4",
7154		auxType:      auxSymOff,
7155		argLen:       4,
7156		resultInArg0: true,
7157		symEffect:    SymRead,
7158		asm:          x86.ASUBSS,
7159		scale:        4,
7160		reg: regInfo{
7161			inputs: []inputInfo{
7162				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7163				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7164				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7165			},
7166			outputs: []outputInfo{
7167				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7168			},
7169		},
7170	},
7171	{
7172		name:         "SUBSDloadidx1",
7173		auxType:      auxSymOff,
7174		argLen:       4,
7175		resultInArg0: true,
7176		symEffect:    SymRead,
7177		asm:          x86.ASUBSD,
7178		scale:        1,
7179		reg: regInfo{
7180			inputs: []inputInfo{
7181				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7182				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7183				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7184			},
7185			outputs: []outputInfo{
7186				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7187			},
7188		},
7189	},
7190	{
7191		name:         "SUBSDloadidx8",
7192		auxType:      auxSymOff,
7193		argLen:       4,
7194		resultInArg0: true,
7195		symEffect:    SymRead,
7196		asm:          x86.ASUBSD,
7197		scale:        8,
7198		reg: regInfo{
7199			inputs: []inputInfo{
7200				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7201				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7202				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7203			},
7204			outputs: []outputInfo{
7205				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7206			},
7207		},
7208	},
7209	{
7210		name:         "MULSSloadidx1",
7211		auxType:      auxSymOff,
7212		argLen:       4,
7213		resultInArg0: true,
7214		symEffect:    SymRead,
7215		asm:          x86.AMULSS,
7216		scale:        1,
7217		reg: regInfo{
7218			inputs: []inputInfo{
7219				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7220				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7221				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7222			},
7223			outputs: []outputInfo{
7224				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7225			},
7226		},
7227	},
7228	{
7229		name:         "MULSSloadidx4",
7230		auxType:      auxSymOff,
7231		argLen:       4,
7232		resultInArg0: true,
7233		symEffect:    SymRead,
7234		asm:          x86.AMULSS,
7235		scale:        4,
7236		reg: regInfo{
7237			inputs: []inputInfo{
7238				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7239				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7240				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7241			},
7242			outputs: []outputInfo{
7243				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7244			},
7245		},
7246	},
7247	{
7248		name:         "MULSDloadidx1",
7249		auxType:      auxSymOff,
7250		argLen:       4,
7251		resultInArg0: true,
7252		symEffect:    SymRead,
7253		asm:          x86.AMULSD,
7254		scale:        1,
7255		reg: regInfo{
7256			inputs: []inputInfo{
7257				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7258				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7259				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7260			},
7261			outputs: []outputInfo{
7262				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7263			},
7264		},
7265	},
7266	{
7267		name:         "MULSDloadidx8",
7268		auxType:      auxSymOff,
7269		argLen:       4,
7270		resultInArg0: true,
7271		symEffect:    SymRead,
7272		asm:          x86.AMULSD,
7273		scale:        8,
7274		reg: regInfo{
7275			inputs: []inputInfo{
7276				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7277				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7278				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7279			},
7280			outputs: []outputInfo{
7281				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7282			},
7283		},
7284	},
7285	{
7286		name:         "DIVSSloadidx1",
7287		auxType:      auxSymOff,
7288		argLen:       4,
7289		resultInArg0: true,
7290		symEffect:    SymRead,
7291		asm:          x86.ADIVSS,
7292		scale:        1,
7293		reg: regInfo{
7294			inputs: []inputInfo{
7295				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7296				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7297				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7298			},
7299			outputs: []outputInfo{
7300				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7301			},
7302		},
7303	},
7304	{
7305		name:         "DIVSSloadidx4",
7306		auxType:      auxSymOff,
7307		argLen:       4,
7308		resultInArg0: true,
7309		symEffect:    SymRead,
7310		asm:          x86.ADIVSS,
7311		scale:        4,
7312		reg: regInfo{
7313			inputs: []inputInfo{
7314				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7315				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7316				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7317			},
7318			outputs: []outputInfo{
7319				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7320			},
7321		},
7322	},
7323	{
7324		name:         "DIVSDloadidx1",
7325		auxType:      auxSymOff,
7326		argLen:       4,
7327		resultInArg0: true,
7328		symEffect:    SymRead,
7329		asm:          x86.ADIVSD,
7330		scale:        1,
7331		reg: regInfo{
7332			inputs: []inputInfo{
7333				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7334				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7335				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7336			},
7337			outputs: []outputInfo{
7338				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7339			},
7340		},
7341	},
7342	{
7343		name:         "DIVSDloadidx8",
7344		auxType:      auxSymOff,
7345		argLen:       4,
7346		resultInArg0: true,
7347		symEffect:    SymRead,
7348		asm:          x86.ADIVSD,
7349		scale:        8,
7350		reg: regInfo{
7351			inputs: []inputInfo{
7352				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7353				{2, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
7354				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7355			},
7356			outputs: []outputInfo{
7357				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
7358			},
7359		},
7360	},
7361	{
7362		name:         "ADDQ",
7363		argLen:       2,
7364		commutative:  true,
7365		clobberFlags: true,
7366		asm:          x86.AADDQ,
7367		reg: regInfo{
7368			inputs: []inputInfo{
7369				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7370				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7371			},
7372			outputs: []outputInfo{
7373				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7374			},
7375		},
7376	},
7377	{
7378		name:         "ADDL",
7379		argLen:       2,
7380		commutative:  true,
7381		clobberFlags: true,
7382		asm:          x86.AADDL,
7383		reg: regInfo{
7384			inputs: []inputInfo{
7385				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7386				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7387			},
7388			outputs: []outputInfo{
7389				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7390			},
7391		},
7392	},
7393	{
7394		name:         "ADDQconst",
7395		auxType:      auxInt32,
7396		argLen:       1,
7397		clobberFlags: true,
7398		asm:          x86.AADDQ,
7399		reg: regInfo{
7400			inputs: []inputInfo{
7401				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7402			},
7403			outputs: []outputInfo{
7404				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7405			},
7406		},
7407	},
7408	{
7409		name:         "ADDLconst",
7410		auxType:      auxInt32,
7411		argLen:       1,
7412		clobberFlags: true,
7413		asm:          x86.AADDL,
7414		reg: regInfo{
7415			inputs: []inputInfo{
7416				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7417			},
7418			outputs: []outputInfo{
7419				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7420			},
7421		},
7422	},
7423	{
7424		name:           "ADDQconstmodify",
7425		auxType:        auxSymValAndOff,
7426		argLen:         2,
7427		clobberFlags:   true,
7428		faultOnNilArg0: true,
7429		symEffect:      SymRead | SymWrite,
7430		asm:            x86.AADDQ,
7431		reg: regInfo{
7432			inputs: []inputInfo{
7433				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7434			},
7435		},
7436	},
7437	{
7438		name:           "ADDLconstmodify",
7439		auxType:        auxSymValAndOff,
7440		argLen:         2,
7441		clobberFlags:   true,
7442		faultOnNilArg0: true,
7443		symEffect:      SymRead | SymWrite,
7444		asm:            x86.AADDL,
7445		reg: regInfo{
7446			inputs: []inputInfo{
7447				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
7448			},
7449		},
7450	},
7451	{
7452		name:         "SUBQ",
7453		argLen:       2,
7454		resultInArg0: true,
7455		clobberFlags: true,
7456		asm:          x86.ASUBQ,
7457		reg: regInfo{
7458			inputs: []inputInfo{
7459				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7460				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7461			},
7462			outputs: []outputInfo{
7463				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7464			},
7465		},
7466	},
7467	{
7468		name:         "SUBL",
7469		argLen:       2,
7470		resultInArg0: true,
7471		clobberFlags: true,
7472		asm:          x86.ASUBL,
7473		reg: regInfo{
7474			inputs: []inputInfo{
7475				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7476				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7477			},
7478			outputs: []outputInfo{
7479				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7480			},
7481		},
7482	},
7483	{
7484		name:         "SUBQconst",
7485		auxType:      auxInt32,
7486		argLen:       1,
7487		resultInArg0: true,
7488		clobberFlags: true,
7489		asm:          x86.ASUBQ,
7490		reg: regInfo{
7491			inputs: []inputInfo{
7492				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7493			},
7494			outputs: []outputInfo{
7495				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7496			},
7497		},
7498	},
7499	{
7500		name:         "SUBLconst",
7501		auxType:      auxInt32,
7502		argLen:       1,
7503		resultInArg0: true,
7504		clobberFlags: true,
7505		asm:          x86.ASUBL,
7506		reg: regInfo{
7507			inputs: []inputInfo{
7508				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7509			},
7510			outputs: []outputInfo{
7511				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7512			},
7513		},
7514	},
7515	{
7516		name:         "MULQ",
7517		argLen:       2,
7518		commutative:  true,
7519		resultInArg0: true,
7520		clobberFlags: true,
7521		asm:          x86.AIMULQ,
7522		reg: regInfo{
7523			inputs: []inputInfo{
7524				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7525				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7526			},
7527			outputs: []outputInfo{
7528				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7529			},
7530		},
7531	},
7532	{
7533		name:         "MULL",
7534		argLen:       2,
7535		commutative:  true,
7536		resultInArg0: true,
7537		clobberFlags: true,
7538		asm:          x86.AIMULL,
7539		reg: regInfo{
7540			inputs: []inputInfo{
7541				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7542				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7543			},
7544			outputs: []outputInfo{
7545				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7546			},
7547		},
7548	},
7549	{
7550		name:         "MULQconst",
7551		auxType:      auxInt32,
7552		argLen:       1,
7553		clobberFlags: true,
7554		asm:          x86.AIMUL3Q,
7555		reg: regInfo{
7556			inputs: []inputInfo{
7557				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7558			},
7559			outputs: []outputInfo{
7560				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7561			},
7562		},
7563	},
7564	{
7565		name:         "MULLconst",
7566		auxType:      auxInt32,
7567		argLen:       1,
7568		clobberFlags: true,
7569		asm:          x86.AIMUL3L,
7570		reg: regInfo{
7571			inputs: []inputInfo{
7572				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7573			},
7574			outputs: []outputInfo{
7575				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7576			},
7577		},
7578	},
7579	{
7580		name:         "MULLU",
7581		argLen:       2,
7582		commutative:  true,
7583		clobberFlags: true,
7584		asm:          x86.AMULL,
7585		reg: regInfo{
7586			inputs: []inputInfo{
7587				{0, 1},     // AX
7588				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7589			},
7590			clobbers: 4, // DX
7591			outputs: []outputInfo{
7592				{1, 0},
7593				{0, 1}, // AX
7594			},
7595		},
7596	},
7597	{
7598		name:         "MULQU",
7599		argLen:       2,
7600		commutative:  true,
7601		clobberFlags: true,
7602		asm:          x86.AMULQ,
7603		reg: regInfo{
7604			inputs: []inputInfo{
7605				{0, 1},     // AX
7606				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7607			},
7608			clobbers: 4, // DX
7609			outputs: []outputInfo{
7610				{1, 0},
7611				{0, 1}, // AX
7612			},
7613		},
7614	},
7615	{
7616		name:         "HMULQ",
7617		argLen:       2,
7618		clobberFlags: true,
7619		asm:          x86.AIMULQ,
7620		reg: regInfo{
7621			inputs: []inputInfo{
7622				{0, 1},     // AX
7623				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7624			},
7625			clobbers: 1, // AX
7626			outputs: []outputInfo{
7627				{0, 4}, // DX
7628			},
7629		},
7630	},
7631	{
7632		name:         "HMULL",
7633		argLen:       2,
7634		clobberFlags: true,
7635		asm:          x86.AIMULL,
7636		reg: regInfo{
7637			inputs: []inputInfo{
7638				{0, 1},     // AX
7639				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7640			},
7641			clobbers: 1, // AX
7642			outputs: []outputInfo{
7643				{0, 4}, // DX
7644			},
7645		},
7646	},
7647	{
7648		name:         "HMULQU",
7649		argLen:       2,
7650		clobberFlags: true,
7651		asm:          x86.AMULQ,
7652		reg: regInfo{
7653			inputs: []inputInfo{
7654				{0, 1},     // AX
7655				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7656			},
7657			clobbers: 1, // AX
7658			outputs: []outputInfo{
7659				{0, 4}, // DX
7660			},
7661		},
7662	},
7663	{
7664		name:         "HMULLU",
7665		argLen:       2,
7666		clobberFlags: true,
7667		asm:          x86.AMULL,
7668		reg: regInfo{
7669			inputs: []inputInfo{
7670				{0, 1},     // AX
7671				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7672			},
7673			clobbers: 1, // AX
7674			outputs: []outputInfo{
7675				{0, 4}, // DX
7676			},
7677		},
7678	},
7679	{
7680		name:         "AVGQU",
7681		argLen:       2,
7682		commutative:  true,
7683		resultInArg0: true,
7684		clobberFlags: true,
7685		reg: regInfo{
7686			inputs: []inputInfo{
7687				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7688				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7689			},
7690			outputs: []outputInfo{
7691				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7692			},
7693		},
7694	},
7695	{
7696		name:         "DIVQ",
7697		auxType:      auxBool,
7698		argLen:       2,
7699		clobberFlags: true,
7700		asm:          x86.AIDIVQ,
7701		reg: regInfo{
7702			inputs: []inputInfo{
7703				{0, 1},     // AX
7704				{1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7705			},
7706			outputs: []outputInfo{
7707				{0, 1}, // AX
7708				{1, 4}, // DX
7709			},
7710		},
7711	},
7712	{
7713		name:         "DIVL",
7714		auxType:      auxBool,
7715		argLen:       2,
7716		clobberFlags: true,
7717		asm:          x86.AIDIVL,
7718		reg: regInfo{
7719			inputs: []inputInfo{
7720				{0, 1},     // AX
7721				{1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7722			},
7723			outputs: []outputInfo{
7724				{0, 1}, // AX
7725				{1, 4}, // DX
7726			},
7727		},
7728	},
7729	{
7730		name:         "DIVW",
7731		auxType:      auxBool,
7732		argLen:       2,
7733		clobberFlags: true,
7734		asm:          x86.AIDIVW,
7735		reg: regInfo{
7736			inputs: []inputInfo{
7737				{0, 1},     // AX
7738				{1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7739			},
7740			outputs: []outputInfo{
7741				{0, 1}, // AX
7742				{1, 4}, // DX
7743			},
7744		},
7745	},
7746	{
7747		name:         "DIVQU",
7748		argLen:       2,
7749		clobberFlags: true,
7750		asm:          x86.ADIVQ,
7751		reg: regInfo{
7752			inputs: []inputInfo{
7753				{0, 1},     // AX
7754				{1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7755			},
7756			outputs: []outputInfo{
7757				{0, 1}, // AX
7758				{1, 4}, // DX
7759			},
7760		},
7761	},
7762	{
7763		name:         "DIVLU",
7764		argLen:       2,
7765		clobberFlags: true,
7766		asm:          x86.ADIVL,
7767		reg: regInfo{
7768			inputs: []inputInfo{
7769				{0, 1},     // AX
7770				{1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7771			},
7772			outputs: []outputInfo{
7773				{0, 1}, // AX
7774				{1, 4}, // DX
7775			},
7776		},
7777	},
7778	{
7779		name:         "DIVWU",
7780		argLen:       2,
7781		clobberFlags: true,
7782		asm:          x86.ADIVW,
7783		reg: regInfo{
7784			inputs: []inputInfo{
7785				{0, 1},     // AX
7786				{1, 49147}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7787			},
7788			outputs: []outputInfo{
7789				{0, 1}, // AX
7790				{1, 4}, // DX
7791			},
7792		},
7793	},
7794	{
7795		name:         "NEGLflags",
7796		argLen:       1,
7797		resultInArg0: true,
7798		asm:          x86.ANEGL,
7799		reg: regInfo{
7800			inputs: []inputInfo{
7801				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7802			},
7803			outputs: []outputInfo{
7804				{1, 0},
7805				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7806			},
7807		},
7808	},
7809	{
7810		name:         "ADDQcarry",
7811		argLen:       2,
7812		commutative:  true,
7813		resultInArg0: true,
7814		asm:          x86.AADDQ,
7815		reg: regInfo{
7816			inputs: []inputInfo{
7817				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7818				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7819			},
7820			outputs: []outputInfo{
7821				{1, 0},
7822				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7823			},
7824		},
7825	},
7826	{
7827		name:         "ADCQ",
7828		argLen:       3,
7829		commutative:  true,
7830		resultInArg0: true,
7831		asm:          x86.AADCQ,
7832		reg: regInfo{
7833			inputs: []inputInfo{
7834				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7835				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7836			},
7837			outputs: []outputInfo{
7838				{1, 0},
7839				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7840			},
7841		},
7842	},
7843	{
7844		name:         "ADDQconstcarry",
7845		auxType:      auxInt32,
7846		argLen:       1,
7847		resultInArg0: true,
7848		asm:          x86.AADDQ,
7849		reg: regInfo{
7850			inputs: []inputInfo{
7851				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7852			},
7853			outputs: []outputInfo{
7854				{1, 0},
7855				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7856			},
7857		},
7858	},
7859	{
7860		name:         "ADCQconst",
7861		auxType:      auxInt32,
7862		argLen:       2,
7863		resultInArg0: true,
7864		asm:          x86.AADCQ,
7865		reg: regInfo{
7866			inputs: []inputInfo{
7867				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7868			},
7869			outputs: []outputInfo{
7870				{1, 0},
7871				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7872			},
7873		},
7874	},
7875	{
7876		name:         "SUBQborrow",
7877		argLen:       2,
7878		resultInArg0: true,
7879		asm:          x86.ASUBQ,
7880		reg: regInfo{
7881			inputs: []inputInfo{
7882				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7883				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7884			},
7885			outputs: []outputInfo{
7886				{1, 0},
7887				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7888			},
7889		},
7890	},
7891	{
7892		name:         "SBBQ",
7893		argLen:       3,
7894		resultInArg0: true,
7895		asm:          x86.ASBBQ,
7896		reg: regInfo{
7897			inputs: []inputInfo{
7898				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7899				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7900			},
7901			outputs: []outputInfo{
7902				{1, 0},
7903				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7904			},
7905		},
7906	},
7907	{
7908		name:         "SUBQconstborrow",
7909		auxType:      auxInt32,
7910		argLen:       1,
7911		resultInArg0: true,
7912		asm:          x86.ASUBQ,
7913		reg: regInfo{
7914			inputs: []inputInfo{
7915				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7916			},
7917			outputs: []outputInfo{
7918				{1, 0},
7919				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7920			},
7921		},
7922	},
7923	{
7924		name:         "SBBQconst",
7925		auxType:      auxInt32,
7926		argLen:       2,
7927		resultInArg0: true,
7928		asm:          x86.ASBBQ,
7929		reg: regInfo{
7930			inputs: []inputInfo{
7931				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7932			},
7933			outputs: []outputInfo{
7934				{1, 0},
7935				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7936			},
7937		},
7938	},
7939	{
7940		name:         "MULQU2",
7941		argLen:       2,
7942		commutative:  true,
7943		clobberFlags: true,
7944		asm:          x86.AMULQ,
7945		reg: regInfo{
7946			inputs: []inputInfo{
7947				{0, 1},     // AX
7948				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7949			},
7950			outputs: []outputInfo{
7951				{0, 4}, // DX
7952				{1, 1}, // AX
7953			},
7954		},
7955	},
7956	{
7957		name:         "DIVQU2",
7958		argLen:       3,
7959		clobberFlags: true,
7960		asm:          x86.ADIVQ,
7961		reg: regInfo{
7962			inputs: []inputInfo{
7963				{0, 4},     // DX
7964				{1, 1},     // AX
7965				{2, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
7966			},
7967			outputs: []outputInfo{
7968				{0, 1}, // AX
7969				{1, 4}, // DX
7970			},
7971		},
7972	},
7973	{
7974		name:         "ANDQ",
7975		argLen:       2,
7976		commutative:  true,
7977		resultInArg0: true,
7978		clobberFlags: true,
7979		asm:          x86.AANDQ,
7980		reg: regInfo{
7981			inputs: []inputInfo{
7982				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7983				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7984			},
7985			outputs: []outputInfo{
7986				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
7987			},
7988		},
7989	},
7990	{
7991		name:         "ANDL",
7992		argLen:       2,
7993		commutative:  true,
7994		resultInArg0: true,
7995		clobberFlags: true,
7996		asm:          x86.AANDL,
7997		reg: regInfo{
7998			inputs: []inputInfo{
7999				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8000				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8001			},
8002			outputs: []outputInfo{
8003				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8004			},
8005		},
8006	},
8007	{
8008		name:         "ANDQconst",
8009		auxType:      auxInt32,
8010		argLen:       1,
8011		resultInArg0: true,
8012		clobberFlags: true,
8013		asm:          x86.AANDQ,
8014		reg: regInfo{
8015			inputs: []inputInfo{
8016				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8017			},
8018			outputs: []outputInfo{
8019				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8020			},
8021		},
8022	},
8023	{
8024		name:         "ANDLconst",
8025		auxType:      auxInt32,
8026		argLen:       1,
8027		resultInArg0: true,
8028		clobberFlags: true,
8029		asm:          x86.AANDL,
8030		reg: regInfo{
8031			inputs: []inputInfo{
8032				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8033			},
8034			outputs: []outputInfo{
8035				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8036			},
8037		},
8038	},
8039	{
8040		name:           "ANDQconstmodify",
8041		auxType:        auxSymValAndOff,
8042		argLen:         2,
8043		clobberFlags:   true,
8044		faultOnNilArg0: true,
8045		symEffect:      SymRead | SymWrite,
8046		asm:            x86.AANDQ,
8047		reg: regInfo{
8048			inputs: []inputInfo{
8049				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8050			},
8051		},
8052	},
8053	{
8054		name:           "ANDLconstmodify",
8055		auxType:        auxSymValAndOff,
8056		argLen:         2,
8057		clobberFlags:   true,
8058		faultOnNilArg0: true,
8059		symEffect:      SymRead | SymWrite,
8060		asm:            x86.AANDL,
8061		reg: regInfo{
8062			inputs: []inputInfo{
8063				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8064			},
8065		},
8066	},
8067	{
8068		name:         "ORQ",
8069		argLen:       2,
8070		commutative:  true,
8071		resultInArg0: true,
8072		clobberFlags: true,
8073		asm:          x86.AORQ,
8074		reg: regInfo{
8075			inputs: []inputInfo{
8076				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8077				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8078			},
8079			outputs: []outputInfo{
8080				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8081			},
8082		},
8083	},
8084	{
8085		name:         "ORL",
8086		argLen:       2,
8087		commutative:  true,
8088		resultInArg0: true,
8089		clobberFlags: true,
8090		asm:          x86.AORL,
8091		reg: regInfo{
8092			inputs: []inputInfo{
8093				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8094				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8095			},
8096			outputs: []outputInfo{
8097				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8098			},
8099		},
8100	},
8101	{
8102		name:         "ORQconst",
8103		auxType:      auxInt32,
8104		argLen:       1,
8105		resultInArg0: true,
8106		clobberFlags: true,
8107		asm:          x86.AORQ,
8108		reg: regInfo{
8109			inputs: []inputInfo{
8110				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8111			},
8112			outputs: []outputInfo{
8113				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8114			},
8115		},
8116	},
8117	{
8118		name:         "ORLconst",
8119		auxType:      auxInt32,
8120		argLen:       1,
8121		resultInArg0: true,
8122		clobberFlags: true,
8123		asm:          x86.AORL,
8124		reg: regInfo{
8125			inputs: []inputInfo{
8126				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8127			},
8128			outputs: []outputInfo{
8129				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8130			},
8131		},
8132	},
8133	{
8134		name:           "ORQconstmodify",
8135		auxType:        auxSymValAndOff,
8136		argLen:         2,
8137		clobberFlags:   true,
8138		faultOnNilArg0: true,
8139		symEffect:      SymRead | SymWrite,
8140		asm:            x86.AORQ,
8141		reg: regInfo{
8142			inputs: []inputInfo{
8143				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8144			},
8145		},
8146	},
8147	{
8148		name:           "ORLconstmodify",
8149		auxType:        auxSymValAndOff,
8150		argLen:         2,
8151		clobberFlags:   true,
8152		faultOnNilArg0: true,
8153		symEffect:      SymRead | SymWrite,
8154		asm:            x86.AORL,
8155		reg: regInfo{
8156			inputs: []inputInfo{
8157				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8158			},
8159		},
8160	},
8161	{
8162		name:         "XORQ",
8163		argLen:       2,
8164		commutative:  true,
8165		resultInArg0: true,
8166		clobberFlags: true,
8167		asm:          x86.AXORQ,
8168		reg: regInfo{
8169			inputs: []inputInfo{
8170				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8171				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8172			},
8173			outputs: []outputInfo{
8174				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8175			},
8176		},
8177	},
8178	{
8179		name:         "XORL",
8180		argLen:       2,
8181		commutative:  true,
8182		resultInArg0: true,
8183		clobberFlags: true,
8184		asm:          x86.AXORL,
8185		reg: regInfo{
8186			inputs: []inputInfo{
8187				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8188				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8189			},
8190			outputs: []outputInfo{
8191				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8192			},
8193		},
8194	},
8195	{
8196		name:         "XORQconst",
8197		auxType:      auxInt32,
8198		argLen:       1,
8199		resultInArg0: true,
8200		clobberFlags: true,
8201		asm:          x86.AXORQ,
8202		reg: regInfo{
8203			inputs: []inputInfo{
8204				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8205			},
8206			outputs: []outputInfo{
8207				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8208			},
8209		},
8210	},
8211	{
8212		name:         "XORLconst",
8213		auxType:      auxInt32,
8214		argLen:       1,
8215		resultInArg0: true,
8216		clobberFlags: true,
8217		asm:          x86.AXORL,
8218		reg: regInfo{
8219			inputs: []inputInfo{
8220				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8221			},
8222			outputs: []outputInfo{
8223				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8224			},
8225		},
8226	},
8227	{
8228		name:           "XORQconstmodify",
8229		auxType:        auxSymValAndOff,
8230		argLen:         2,
8231		clobberFlags:   true,
8232		faultOnNilArg0: true,
8233		symEffect:      SymRead | SymWrite,
8234		asm:            x86.AXORQ,
8235		reg: regInfo{
8236			inputs: []inputInfo{
8237				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8238			},
8239		},
8240	},
8241	{
8242		name:           "XORLconstmodify",
8243		auxType:        auxSymValAndOff,
8244		argLen:         2,
8245		clobberFlags:   true,
8246		faultOnNilArg0: true,
8247		symEffect:      SymRead | SymWrite,
8248		asm:            x86.AXORL,
8249		reg: regInfo{
8250			inputs: []inputInfo{
8251				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8252			},
8253		},
8254	},
8255	{
8256		name:   "CMPQ",
8257		argLen: 2,
8258		asm:    x86.ACMPQ,
8259		reg: regInfo{
8260			inputs: []inputInfo{
8261				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8262				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8263			},
8264		},
8265	},
8266	{
8267		name:   "CMPL",
8268		argLen: 2,
8269		asm:    x86.ACMPL,
8270		reg: regInfo{
8271			inputs: []inputInfo{
8272				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8273				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8274			},
8275		},
8276	},
8277	{
8278		name:   "CMPW",
8279		argLen: 2,
8280		asm:    x86.ACMPW,
8281		reg: regInfo{
8282			inputs: []inputInfo{
8283				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8284				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8285			},
8286		},
8287	},
8288	{
8289		name:   "CMPB",
8290		argLen: 2,
8291		asm:    x86.ACMPB,
8292		reg: regInfo{
8293			inputs: []inputInfo{
8294				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8295				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8296			},
8297		},
8298	},
8299	{
8300		name:    "CMPQconst",
8301		auxType: auxInt32,
8302		argLen:  1,
8303		asm:     x86.ACMPQ,
8304		reg: regInfo{
8305			inputs: []inputInfo{
8306				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8307			},
8308		},
8309	},
8310	{
8311		name:    "CMPLconst",
8312		auxType: auxInt32,
8313		argLen:  1,
8314		asm:     x86.ACMPL,
8315		reg: regInfo{
8316			inputs: []inputInfo{
8317				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8318			},
8319		},
8320	},
8321	{
8322		name:    "CMPWconst",
8323		auxType: auxInt16,
8324		argLen:  1,
8325		asm:     x86.ACMPW,
8326		reg: regInfo{
8327			inputs: []inputInfo{
8328				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8329			},
8330		},
8331	},
8332	{
8333		name:    "CMPBconst",
8334		auxType: auxInt8,
8335		argLen:  1,
8336		asm:     x86.ACMPB,
8337		reg: regInfo{
8338			inputs: []inputInfo{
8339				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8340			},
8341		},
8342	},
8343	{
8344		name:           "CMPQload",
8345		auxType:        auxSymOff,
8346		argLen:         3,
8347		faultOnNilArg0: true,
8348		symEffect:      SymRead,
8349		asm:            x86.ACMPQ,
8350		reg: regInfo{
8351			inputs: []inputInfo{
8352				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8353				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8354			},
8355		},
8356	},
8357	{
8358		name:           "CMPLload",
8359		auxType:        auxSymOff,
8360		argLen:         3,
8361		faultOnNilArg0: true,
8362		symEffect:      SymRead,
8363		asm:            x86.ACMPL,
8364		reg: regInfo{
8365			inputs: []inputInfo{
8366				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8367				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8368			},
8369		},
8370	},
8371	{
8372		name:           "CMPWload",
8373		auxType:        auxSymOff,
8374		argLen:         3,
8375		faultOnNilArg0: true,
8376		symEffect:      SymRead,
8377		asm:            x86.ACMPW,
8378		reg: regInfo{
8379			inputs: []inputInfo{
8380				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8381				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8382			},
8383		},
8384	},
8385	{
8386		name:           "CMPBload",
8387		auxType:        auxSymOff,
8388		argLen:         3,
8389		faultOnNilArg0: true,
8390		symEffect:      SymRead,
8391		asm:            x86.ACMPB,
8392		reg: regInfo{
8393			inputs: []inputInfo{
8394				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8395				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8396			},
8397		},
8398	},
8399	{
8400		name:           "CMPQconstload",
8401		auxType:        auxSymValAndOff,
8402		argLen:         2,
8403		faultOnNilArg0: true,
8404		symEffect:      SymRead,
8405		asm:            x86.ACMPQ,
8406		reg: regInfo{
8407			inputs: []inputInfo{
8408				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8409			},
8410		},
8411	},
8412	{
8413		name:           "CMPLconstload",
8414		auxType:        auxSymValAndOff,
8415		argLen:         2,
8416		faultOnNilArg0: true,
8417		symEffect:      SymRead,
8418		asm:            x86.ACMPL,
8419		reg: regInfo{
8420			inputs: []inputInfo{
8421				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8422			},
8423		},
8424	},
8425	{
8426		name:           "CMPWconstload",
8427		auxType:        auxSymValAndOff,
8428		argLen:         2,
8429		faultOnNilArg0: true,
8430		symEffect:      SymRead,
8431		asm:            x86.ACMPW,
8432		reg: regInfo{
8433			inputs: []inputInfo{
8434				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8435			},
8436		},
8437	},
8438	{
8439		name:           "CMPBconstload",
8440		auxType:        auxSymValAndOff,
8441		argLen:         2,
8442		faultOnNilArg0: true,
8443		symEffect:      SymRead,
8444		asm:            x86.ACMPB,
8445		reg: regInfo{
8446			inputs: []inputInfo{
8447				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8448			},
8449		},
8450	},
8451	{
8452		name:      "CMPQloadidx8",
8453		auxType:   auxSymOff,
8454		argLen:    4,
8455		symEffect: SymRead,
8456		asm:       x86.ACMPQ,
8457		scale:     8,
8458		reg: regInfo{
8459			inputs: []inputInfo{
8460				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8461				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8462				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8463			},
8464		},
8465	},
8466	{
8467		name:        "CMPQloadidx1",
8468		auxType:     auxSymOff,
8469		argLen:      4,
8470		commutative: true,
8471		symEffect:   SymRead,
8472		asm:         x86.ACMPQ,
8473		scale:       1,
8474		reg: regInfo{
8475			inputs: []inputInfo{
8476				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8477				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8478				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8479			},
8480		},
8481	},
8482	{
8483		name:      "CMPLloadidx4",
8484		auxType:   auxSymOff,
8485		argLen:    4,
8486		symEffect: SymRead,
8487		asm:       x86.ACMPL,
8488		scale:     4,
8489		reg: regInfo{
8490			inputs: []inputInfo{
8491				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8492				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8493				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8494			},
8495		},
8496	},
8497	{
8498		name:        "CMPLloadidx1",
8499		auxType:     auxSymOff,
8500		argLen:      4,
8501		commutative: true,
8502		symEffect:   SymRead,
8503		asm:         x86.ACMPL,
8504		scale:       1,
8505		reg: regInfo{
8506			inputs: []inputInfo{
8507				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8508				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8509				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8510			},
8511		},
8512	},
8513	{
8514		name:      "CMPWloadidx2",
8515		auxType:   auxSymOff,
8516		argLen:    4,
8517		symEffect: SymRead,
8518		asm:       x86.ACMPW,
8519		scale:     2,
8520		reg: regInfo{
8521			inputs: []inputInfo{
8522				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8523				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8524				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8525			},
8526		},
8527	},
8528	{
8529		name:        "CMPWloadidx1",
8530		auxType:     auxSymOff,
8531		argLen:      4,
8532		commutative: true,
8533		symEffect:   SymRead,
8534		asm:         x86.ACMPW,
8535		scale:       1,
8536		reg: regInfo{
8537			inputs: []inputInfo{
8538				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8539				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8540				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8541			},
8542		},
8543	},
8544	{
8545		name:        "CMPBloadidx1",
8546		auxType:     auxSymOff,
8547		argLen:      4,
8548		commutative: true,
8549		symEffect:   SymRead,
8550		asm:         x86.ACMPB,
8551		scale:       1,
8552		reg: regInfo{
8553			inputs: []inputInfo{
8554				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8555				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8556				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8557			},
8558		},
8559	},
8560	{
8561		name:      "CMPQconstloadidx8",
8562		auxType:   auxSymValAndOff,
8563		argLen:    3,
8564		symEffect: SymRead,
8565		asm:       x86.ACMPQ,
8566		scale:     8,
8567		reg: regInfo{
8568			inputs: []inputInfo{
8569				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8570				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8571			},
8572		},
8573	},
8574	{
8575		name:        "CMPQconstloadidx1",
8576		auxType:     auxSymValAndOff,
8577		argLen:      3,
8578		commutative: true,
8579		symEffect:   SymRead,
8580		asm:         x86.ACMPQ,
8581		scale:       1,
8582		reg: regInfo{
8583			inputs: []inputInfo{
8584				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8585				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8586			},
8587		},
8588	},
8589	{
8590		name:      "CMPLconstloadidx4",
8591		auxType:   auxSymValAndOff,
8592		argLen:    3,
8593		symEffect: SymRead,
8594		asm:       x86.ACMPL,
8595		scale:     4,
8596		reg: regInfo{
8597			inputs: []inputInfo{
8598				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8599				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8600			},
8601		},
8602	},
8603	{
8604		name:        "CMPLconstloadidx1",
8605		auxType:     auxSymValAndOff,
8606		argLen:      3,
8607		commutative: true,
8608		symEffect:   SymRead,
8609		asm:         x86.ACMPL,
8610		scale:       1,
8611		reg: regInfo{
8612			inputs: []inputInfo{
8613				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8614				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8615			},
8616		},
8617	},
8618	{
8619		name:      "CMPWconstloadidx2",
8620		auxType:   auxSymValAndOff,
8621		argLen:    3,
8622		symEffect: SymRead,
8623		asm:       x86.ACMPW,
8624		scale:     2,
8625		reg: regInfo{
8626			inputs: []inputInfo{
8627				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8628				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8629			},
8630		},
8631	},
8632	{
8633		name:        "CMPWconstloadidx1",
8634		auxType:     auxSymValAndOff,
8635		argLen:      3,
8636		commutative: true,
8637		symEffect:   SymRead,
8638		asm:         x86.ACMPW,
8639		scale:       1,
8640		reg: regInfo{
8641			inputs: []inputInfo{
8642				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8643				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8644			},
8645		},
8646	},
8647	{
8648		name:        "CMPBconstloadidx1",
8649		auxType:     auxSymValAndOff,
8650		argLen:      3,
8651		commutative: true,
8652		symEffect:   SymRead,
8653		asm:         x86.ACMPB,
8654		scale:       1,
8655		reg: regInfo{
8656			inputs: []inputInfo{
8657				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8658				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8659			},
8660		},
8661	},
8662	{
8663		name:   "UCOMISS",
8664		argLen: 2,
8665		asm:    x86.AUCOMISS,
8666		reg: regInfo{
8667			inputs: []inputInfo{
8668				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8669				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8670			},
8671		},
8672	},
8673	{
8674		name:   "UCOMISD",
8675		argLen: 2,
8676		asm:    x86.AUCOMISD,
8677		reg: regInfo{
8678			inputs: []inputInfo{
8679				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8680				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
8681			},
8682		},
8683	},
8684	{
8685		name:   "BTL",
8686		argLen: 2,
8687		asm:    x86.ABTL,
8688		reg: regInfo{
8689			inputs: []inputInfo{
8690				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8691				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8692			},
8693		},
8694	},
8695	{
8696		name:   "BTQ",
8697		argLen: 2,
8698		asm:    x86.ABTQ,
8699		reg: regInfo{
8700			inputs: []inputInfo{
8701				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8702				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8703			},
8704		},
8705	},
8706	{
8707		name:         "BTCL",
8708		argLen:       2,
8709		resultInArg0: true,
8710		clobberFlags: true,
8711		asm:          x86.ABTCL,
8712		reg: regInfo{
8713			inputs: []inputInfo{
8714				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8715				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8716			},
8717			outputs: []outputInfo{
8718				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8719			},
8720		},
8721	},
8722	{
8723		name:         "BTCQ",
8724		argLen:       2,
8725		resultInArg0: true,
8726		clobberFlags: true,
8727		asm:          x86.ABTCQ,
8728		reg: regInfo{
8729			inputs: []inputInfo{
8730				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8731				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8732			},
8733			outputs: []outputInfo{
8734				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8735			},
8736		},
8737	},
8738	{
8739		name:         "BTRL",
8740		argLen:       2,
8741		resultInArg0: true,
8742		clobberFlags: true,
8743		asm:          x86.ABTRL,
8744		reg: regInfo{
8745			inputs: []inputInfo{
8746				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8747				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8748			},
8749			outputs: []outputInfo{
8750				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8751			},
8752		},
8753	},
8754	{
8755		name:         "BTRQ",
8756		argLen:       2,
8757		resultInArg0: true,
8758		clobberFlags: true,
8759		asm:          x86.ABTRQ,
8760		reg: regInfo{
8761			inputs: []inputInfo{
8762				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8763				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8764			},
8765			outputs: []outputInfo{
8766				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8767			},
8768		},
8769	},
8770	{
8771		name:         "BTSL",
8772		argLen:       2,
8773		resultInArg0: true,
8774		clobberFlags: true,
8775		asm:          x86.ABTSL,
8776		reg: regInfo{
8777			inputs: []inputInfo{
8778				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8779				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8780			},
8781			outputs: []outputInfo{
8782				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8783			},
8784		},
8785	},
8786	{
8787		name:         "BTSQ",
8788		argLen:       2,
8789		resultInArg0: true,
8790		clobberFlags: true,
8791		asm:          x86.ABTSQ,
8792		reg: regInfo{
8793			inputs: []inputInfo{
8794				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8795				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8796			},
8797			outputs: []outputInfo{
8798				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8799			},
8800		},
8801	},
8802	{
8803		name:    "BTLconst",
8804		auxType: auxInt8,
8805		argLen:  1,
8806		asm:     x86.ABTL,
8807		reg: regInfo{
8808			inputs: []inputInfo{
8809				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8810			},
8811		},
8812	},
8813	{
8814		name:    "BTQconst",
8815		auxType: auxInt8,
8816		argLen:  1,
8817		asm:     x86.ABTQ,
8818		reg: regInfo{
8819			inputs: []inputInfo{
8820				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8821			},
8822		},
8823	},
8824	{
8825		name:         "BTCQconst",
8826		auxType:      auxInt8,
8827		argLen:       1,
8828		resultInArg0: true,
8829		clobberFlags: true,
8830		asm:          x86.ABTCQ,
8831		reg: regInfo{
8832			inputs: []inputInfo{
8833				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8834			},
8835			outputs: []outputInfo{
8836				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8837			},
8838		},
8839	},
8840	{
8841		name:         "BTRQconst",
8842		auxType:      auxInt8,
8843		argLen:       1,
8844		resultInArg0: true,
8845		clobberFlags: true,
8846		asm:          x86.ABTRQ,
8847		reg: regInfo{
8848			inputs: []inputInfo{
8849				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8850			},
8851			outputs: []outputInfo{
8852				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8853			},
8854		},
8855	},
8856	{
8857		name:         "BTSQconst",
8858		auxType:      auxInt8,
8859		argLen:       1,
8860		resultInArg0: true,
8861		clobberFlags: true,
8862		asm:          x86.ABTSQ,
8863		reg: regInfo{
8864			inputs: []inputInfo{
8865				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8866			},
8867			outputs: []outputInfo{
8868				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
8869			},
8870		},
8871	},
8872	{
8873		name:           "BTSQconstmodify",
8874		auxType:        auxSymValAndOff,
8875		argLen:         2,
8876		clobberFlags:   true,
8877		faultOnNilArg0: true,
8878		symEffect:      SymRead | SymWrite,
8879		asm:            x86.ABTSQ,
8880		reg: regInfo{
8881			inputs: []inputInfo{
8882				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8883			},
8884		},
8885	},
8886	{
8887		name:           "BTRQconstmodify",
8888		auxType:        auxSymValAndOff,
8889		argLen:         2,
8890		clobberFlags:   true,
8891		faultOnNilArg0: true,
8892		symEffect:      SymRead | SymWrite,
8893		asm:            x86.ABTRQ,
8894		reg: regInfo{
8895			inputs: []inputInfo{
8896				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8897			},
8898		},
8899	},
8900	{
8901		name:           "BTCQconstmodify",
8902		auxType:        auxSymValAndOff,
8903		argLen:         2,
8904		clobberFlags:   true,
8905		faultOnNilArg0: true,
8906		symEffect:      SymRead | SymWrite,
8907		asm:            x86.ABTCQ,
8908		reg: regInfo{
8909			inputs: []inputInfo{
8910				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
8911			},
8912		},
8913	},
8914	{
8915		name:        "TESTQ",
8916		argLen:      2,
8917		commutative: true,
8918		asm:         x86.ATESTQ,
8919		reg: regInfo{
8920			inputs: []inputInfo{
8921				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8922				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8923			},
8924		},
8925	},
8926	{
8927		name:        "TESTL",
8928		argLen:      2,
8929		commutative: true,
8930		asm:         x86.ATESTL,
8931		reg: regInfo{
8932			inputs: []inputInfo{
8933				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8934				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8935			},
8936		},
8937	},
8938	{
8939		name:        "TESTW",
8940		argLen:      2,
8941		commutative: true,
8942		asm:         x86.ATESTW,
8943		reg: regInfo{
8944			inputs: []inputInfo{
8945				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8946				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8947			},
8948		},
8949	},
8950	{
8951		name:        "TESTB",
8952		argLen:      2,
8953		commutative: true,
8954		asm:         x86.ATESTB,
8955		reg: regInfo{
8956			inputs: []inputInfo{
8957				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8958				{1, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8959			},
8960		},
8961	},
8962	{
8963		name:    "TESTQconst",
8964		auxType: auxInt32,
8965		argLen:  1,
8966		asm:     x86.ATESTQ,
8967		reg: regInfo{
8968			inputs: []inputInfo{
8969				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8970			},
8971		},
8972	},
8973	{
8974		name:    "TESTLconst",
8975		auxType: auxInt32,
8976		argLen:  1,
8977		asm:     x86.ATESTL,
8978		reg: regInfo{
8979			inputs: []inputInfo{
8980				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8981			},
8982		},
8983	},
8984	{
8985		name:    "TESTWconst",
8986		auxType: auxInt16,
8987		argLen:  1,
8988		asm:     x86.ATESTW,
8989		reg: regInfo{
8990			inputs: []inputInfo{
8991				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
8992			},
8993		},
8994	},
8995	{
8996		name:    "TESTBconst",
8997		auxType: auxInt8,
8998		argLen:  1,
8999		asm:     x86.ATESTB,
9000		reg: regInfo{
9001			inputs: []inputInfo{
9002				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9003			},
9004		},
9005	},
9006	{
9007		name:         "SHLQ",
9008		argLen:       2,
9009		resultInArg0: true,
9010		clobberFlags: true,
9011		asm:          x86.ASHLQ,
9012		reg: regInfo{
9013			inputs: []inputInfo{
9014				{1, 2},     // CX
9015				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9016			},
9017			outputs: []outputInfo{
9018				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9019			},
9020		},
9021	},
9022	{
9023		name:         "SHLL",
9024		argLen:       2,
9025		resultInArg0: true,
9026		clobberFlags: true,
9027		asm:          x86.ASHLL,
9028		reg: regInfo{
9029			inputs: []inputInfo{
9030				{1, 2},     // CX
9031				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9032			},
9033			outputs: []outputInfo{
9034				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9035			},
9036		},
9037	},
9038	{
9039		name:         "SHLQconst",
9040		auxType:      auxInt8,
9041		argLen:       1,
9042		resultInArg0: true,
9043		clobberFlags: true,
9044		asm:          x86.ASHLQ,
9045		reg: regInfo{
9046			inputs: []inputInfo{
9047				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9048			},
9049			outputs: []outputInfo{
9050				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9051			},
9052		},
9053	},
9054	{
9055		name:         "SHLLconst",
9056		auxType:      auxInt8,
9057		argLen:       1,
9058		resultInArg0: true,
9059		clobberFlags: true,
9060		asm:          x86.ASHLL,
9061		reg: regInfo{
9062			inputs: []inputInfo{
9063				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9064			},
9065			outputs: []outputInfo{
9066				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9067			},
9068		},
9069	},
9070	{
9071		name:         "SHRQ",
9072		argLen:       2,
9073		resultInArg0: true,
9074		clobberFlags: true,
9075		asm:          x86.ASHRQ,
9076		reg: regInfo{
9077			inputs: []inputInfo{
9078				{1, 2},     // CX
9079				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9080			},
9081			outputs: []outputInfo{
9082				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9083			},
9084		},
9085	},
9086	{
9087		name:         "SHRL",
9088		argLen:       2,
9089		resultInArg0: true,
9090		clobberFlags: true,
9091		asm:          x86.ASHRL,
9092		reg: regInfo{
9093			inputs: []inputInfo{
9094				{1, 2},     // CX
9095				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9096			},
9097			outputs: []outputInfo{
9098				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9099			},
9100		},
9101	},
9102	{
9103		name:         "SHRW",
9104		argLen:       2,
9105		resultInArg0: true,
9106		clobberFlags: true,
9107		asm:          x86.ASHRW,
9108		reg: regInfo{
9109			inputs: []inputInfo{
9110				{1, 2},     // CX
9111				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9112			},
9113			outputs: []outputInfo{
9114				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9115			},
9116		},
9117	},
9118	{
9119		name:         "SHRB",
9120		argLen:       2,
9121		resultInArg0: true,
9122		clobberFlags: true,
9123		asm:          x86.ASHRB,
9124		reg: regInfo{
9125			inputs: []inputInfo{
9126				{1, 2},     // CX
9127				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9128			},
9129			outputs: []outputInfo{
9130				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9131			},
9132		},
9133	},
9134	{
9135		name:         "SHRQconst",
9136		auxType:      auxInt8,
9137		argLen:       1,
9138		resultInArg0: true,
9139		clobberFlags: true,
9140		asm:          x86.ASHRQ,
9141		reg: regInfo{
9142			inputs: []inputInfo{
9143				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9144			},
9145			outputs: []outputInfo{
9146				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9147			},
9148		},
9149	},
9150	{
9151		name:         "SHRLconst",
9152		auxType:      auxInt8,
9153		argLen:       1,
9154		resultInArg0: true,
9155		clobberFlags: true,
9156		asm:          x86.ASHRL,
9157		reg: regInfo{
9158			inputs: []inputInfo{
9159				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9160			},
9161			outputs: []outputInfo{
9162				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9163			},
9164		},
9165	},
9166	{
9167		name:         "SHRWconst",
9168		auxType:      auxInt8,
9169		argLen:       1,
9170		resultInArg0: true,
9171		clobberFlags: true,
9172		asm:          x86.ASHRW,
9173		reg: regInfo{
9174			inputs: []inputInfo{
9175				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9176			},
9177			outputs: []outputInfo{
9178				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9179			},
9180		},
9181	},
9182	{
9183		name:         "SHRBconst",
9184		auxType:      auxInt8,
9185		argLen:       1,
9186		resultInArg0: true,
9187		clobberFlags: true,
9188		asm:          x86.ASHRB,
9189		reg: regInfo{
9190			inputs: []inputInfo{
9191				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9192			},
9193			outputs: []outputInfo{
9194				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9195			},
9196		},
9197	},
9198	{
9199		name:         "SARQ",
9200		argLen:       2,
9201		resultInArg0: true,
9202		clobberFlags: true,
9203		asm:          x86.ASARQ,
9204		reg: regInfo{
9205			inputs: []inputInfo{
9206				{1, 2},     // CX
9207				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9208			},
9209			outputs: []outputInfo{
9210				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9211			},
9212		},
9213	},
9214	{
9215		name:         "SARL",
9216		argLen:       2,
9217		resultInArg0: true,
9218		clobberFlags: true,
9219		asm:          x86.ASARL,
9220		reg: regInfo{
9221			inputs: []inputInfo{
9222				{1, 2},     // CX
9223				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9224			},
9225			outputs: []outputInfo{
9226				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9227			},
9228		},
9229	},
9230	{
9231		name:         "SARW",
9232		argLen:       2,
9233		resultInArg0: true,
9234		clobberFlags: true,
9235		asm:          x86.ASARW,
9236		reg: regInfo{
9237			inputs: []inputInfo{
9238				{1, 2},     // CX
9239				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9240			},
9241			outputs: []outputInfo{
9242				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9243			},
9244		},
9245	},
9246	{
9247		name:         "SARB",
9248		argLen:       2,
9249		resultInArg0: true,
9250		clobberFlags: true,
9251		asm:          x86.ASARB,
9252		reg: regInfo{
9253			inputs: []inputInfo{
9254				{1, 2},     // CX
9255				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9256			},
9257			outputs: []outputInfo{
9258				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9259			},
9260		},
9261	},
9262	{
9263		name:         "SARQconst",
9264		auxType:      auxInt8,
9265		argLen:       1,
9266		resultInArg0: true,
9267		clobberFlags: true,
9268		asm:          x86.ASARQ,
9269		reg: regInfo{
9270			inputs: []inputInfo{
9271				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9272			},
9273			outputs: []outputInfo{
9274				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9275			},
9276		},
9277	},
9278	{
9279		name:         "SARLconst",
9280		auxType:      auxInt8,
9281		argLen:       1,
9282		resultInArg0: true,
9283		clobberFlags: true,
9284		asm:          x86.ASARL,
9285		reg: regInfo{
9286			inputs: []inputInfo{
9287				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9288			},
9289			outputs: []outputInfo{
9290				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9291			},
9292		},
9293	},
9294	{
9295		name:         "SARWconst",
9296		auxType:      auxInt8,
9297		argLen:       1,
9298		resultInArg0: true,
9299		clobberFlags: true,
9300		asm:          x86.ASARW,
9301		reg: regInfo{
9302			inputs: []inputInfo{
9303				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9304			},
9305			outputs: []outputInfo{
9306				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9307			},
9308		},
9309	},
9310	{
9311		name:         "SARBconst",
9312		auxType:      auxInt8,
9313		argLen:       1,
9314		resultInArg0: true,
9315		clobberFlags: true,
9316		asm:          x86.ASARB,
9317		reg: regInfo{
9318			inputs: []inputInfo{
9319				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9320			},
9321			outputs: []outputInfo{
9322				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9323			},
9324		},
9325	},
9326	{
9327		name:         "SHRDQ",
9328		argLen:       3,
9329		resultInArg0: true,
9330		clobberFlags: true,
9331		asm:          x86.ASHRQ,
9332		reg: regInfo{
9333			inputs: []inputInfo{
9334				{2, 2},     // CX
9335				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9336				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9337			},
9338			outputs: []outputInfo{
9339				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9340			},
9341		},
9342	},
9343	{
9344		name:         "SHLDQ",
9345		argLen:       3,
9346		resultInArg0: true,
9347		clobberFlags: true,
9348		asm:          x86.ASHLQ,
9349		reg: regInfo{
9350			inputs: []inputInfo{
9351				{2, 2},     // CX
9352				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9353				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9354			},
9355			outputs: []outputInfo{
9356				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9357			},
9358		},
9359	},
9360	{
9361		name:         "ROLQ",
9362		argLen:       2,
9363		resultInArg0: true,
9364		clobberFlags: true,
9365		asm:          x86.AROLQ,
9366		reg: regInfo{
9367			inputs: []inputInfo{
9368				{1, 2},     // CX
9369				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9370			},
9371			outputs: []outputInfo{
9372				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9373			},
9374		},
9375	},
9376	{
9377		name:         "ROLL",
9378		argLen:       2,
9379		resultInArg0: true,
9380		clobberFlags: true,
9381		asm:          x86.AROLL,
9382		reg: regInfo{
9383			inputs: []inputInfo{
9384				{1, 2},     // CX
9385				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9386			},
9387			outputs: []outputInfo{
9388				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9389			},
9390		},
9391	},
9392	{
9393		name:         "ROLW",
9394		argLen:       2,
9395		resultInArg0: true,
9396		clobberFlags: true,
9397		asm:          x86.AROLW,
9398		reg: regInfo{
9399			inputs: []inputInfo{
9400				{1, 2},     // CX
9401				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9402			},
9403			outputs: []outputInfo{
9404				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9405			},
9406		},
9407	},
9408	{
9409		name:         "ROLB",
9410		argLen:       2,
9411		resultInArg0: true,
9412		clobberFlags: true,
9413		asm:          x86.AROLB,
9414		reg: regInfo{
9415			inputs: []inputInfo{
9416				{1, 2},     // CX
9417				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9418			},
9419			outputs: []outputInfo{
9420				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9421			},
9422		},
9423	},
9424	{
9425		name:         "RORQ",
9426		argLen:       2,
9427		resultInArg0: true,
9428		clobberFlags: true,
9429		asm:          x86.ARORQ,
9430		reg: regInfo{
9431			inputs: []inputInfo{
9432				{1, 2},     // CX
9433				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9434			},
9435			outputs: []outputInfo{
9436				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9437			},
9438		},
9439	},
9440	{
9441		name:         "RORL",
9442		argLen:       2,
9443		resultInArg0: true,
9444		clobberFlags: true,
9445		asm:          x86.ARORL,
9446		reg: regInfo{
9447			inputs: []inputInfo{
9448				{1, 2},     // CX
9449				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9450			},
9451			outputs: []outputInfo{
9452				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9453			},
9454		},
9455	},
9456	{
9457		name:         "RORW",
9458		argLen:       2,
9459		resultInArg0: true,
9460		clobberFlags: true,
9461		asm:          x86.ARORW,
9462		reg: regInfo{
9463			inputs: []inputInfo{
9464				{1, 2},     // CX
9465				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9466			},
9467			outputs: []outputInfo{
9468				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9469			},
9470		},
9471	},
9472	{
9473		name:         "RORB",
9474		argLen:       2,
9475		resultInArg0: true,
9476		clobberFlags: true,
9477		asm:          x86.ARORB,
9478		reg: regInfo{
9479			inputs: []inputInfo{
9480				{1, 2},     // CX
9481				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9482			},
9483			outputs: []outputInfo{
9484				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9485			},
9486		},
9487	},
9488	{
9489		name:         "ROLQconst",
9490		auxType:      auxInt8,
9491		argLen:       1,
9492		resultInArg0: true,
9493		clobberFlags: true,
9494		asm:          x86.AROLQ,
9495		reg: regInfo{
9496			inputs: []inputInfo{
9497				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9498			},
9499			outputs: []outputInfo{
9500				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9501			},
9502		},
9503	},
9504	{
9505		name:         "ROLLconst",
9506		auxType:      auxInt8,
9507		argLen:       1,
9508		resultInArg0: true,
9509		clobberFlags: true,
9510		asm:          x86.AROLL,
9511		reg: regInfo{
9512			inputs: []inputInfo{
9513				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9514			},
9515			outputs: []outputInfo{
9516				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9517			},
9518		},
9519	},
9520	{
9521		name:         "ROLWconst",
9522		auxType:      auxInt8,
9523		argLen:       1,
9524		resultInArg0: true,
9525		clobberFlags: true,
9526		asm:          x86.AROLW,
9527		reg: regInfo{
9528			inputs: []inputInfo{
9529				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9530			},
9531			outputs: []outputInfo{
9532				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9533			},
9534		},
9535	},
9536	{
9537		name:         "ROLBconst",
9538		auxType:      auxInt8,
9539		argLen:       1,
9540		resultInArg0: true,
9541		clobberFlags: true,
9542		asm:          x86.AROLB,
9543		reg: regInfo{
9544			inputs: []inputInfo{
9545				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9546			},
9547			outputs: []outputInfo{
9548				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9549			},
9550		},
9551	},
9552	{
9553		name:           "ADDLload",
9554		auxType:        auxSymOff,
9555		argLen:         3,
9556		resultInArg0:   true,
9557		clobberFlags:   true,
9558		faultOnNilArg1: true,
9559		symEffect:      SymRead,
9560		asm:            x86.AADDL,
9561		reg: regInfo{
9562			inputs: []inputInfo{
9563				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9564				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9565			},
9566			outputs: []outputInfo{
9567				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9568			},
9569		},
9570	},
9571	{
9572		name:           "ADDQload",
9573		auxType:        auxSymOff,
9574		argLen:         3,
9575		resultInArg0:   true,
9576		clobberFlags:   true,
9577		faultOnNilArg1: true,
9578		symEffect:      SymRead,
9579		asm:            x86.AADDQ,
9580		reg: regInfo{
9581			inputs: []inputInfo{
9582				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9583				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9584			},
9585			outputs: []outputInfo{
9586				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9587			},
9588		},
9589	},
9590	{
9591		name:           "SUBQload",
9592		auxType:        auxSymOff,
9593		argLen:         3,
9594		resultInArg0:   true,
9595		clobberFlags:   true,
9596		faultOnNilArg1: true,
9597		symEffect:      SymRead,
9598		asm:            x86.ASUBQ,
9599		reg: regInfo{
9600			inputs: []inputInfo{
9601				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9602				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9603			},
9604			outputs: []outputInfo{
9605				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9606			},
9607		},
9608	},
9609	{
9610		name:           "SUBLload",
9611		auxType:        auxSymOff,
9612		argLen:         3,
9613		resultInArg0:   true,
9614		clobberFlags:   true,
9615		faultOnNilArg1: true,
9616		symEffect:      SymRead,
9617		asm:            x86.ASUBL,
9618		reg: regInfo{
9619			inputs: []inputInfo{
9620				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9621				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9622			},
9623			outputs: []outputInfo{
9624				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9625			},
9626		},
9627	},
9628	{
9629		name:           "ANDLload",
9630		auxType:        auxSymOff,
9631		argLen:         3,
9632		resultInArg0:   true,
9633		clobberFlags:   true,
9634		faultOnNilArg1: true,
9635		symEffect:      SymRead,
9636		asm:            x86.AANDL,
9637		reg: regInfo{
9638			inputs: []inputInfo{
9639				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9640				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9641			},
9642			outputs: []outputInfo{
9643				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9644			},
9645		},
9646	},
9647	{
9648		name:           "ANDQload",
9649		auxType:        auxSymOff,
9650		argLen:         3,
9651		resultInArg0:   true,
9652		clobberFlags:   true,
9653		faultOnNilArg1: true,
9654		symEffect:      SymRead,
9655		asm:            x86.AANDQ,
9656		reg: regInfo{
9657			inputs: []inputInfo{
9658				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9659				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9660			},
9661			outputs: []outputInfo{
9662				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9663			},
9664		},
9665	},
9666	{
9667		name:           "ORQload",
9668		auxType:        auxSymOff,
9669		argLen:         3,
9670		resultInArg0:   true,
9671		clobberFlags:   true,
9672		faultOnNilArg1: true,
9673		symEffect:      SymRead,
9674		asm:            x86.AORQ,
9675		reg: regInfo{
9676			inputs: []inputInfo{
9677				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9678				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9679			},
9680			outputs: []outputInfo{
9681				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9682			},
9683		},
9684	},
9685	{
9686		name:           "ORLload",
9687		auxType:        auxSymOff,
9688		argLen:         3,
9689		resultInArg0:   true,
9690		clobberFlags:   true,
9691		faultOnNilArg1: true,
9692		symEffect:      SymRead,
9693		asm:            x86.AORL,
9694		reg: regInfo{
9695			inputs: []inputInfo{
9696				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9697				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9698			},
9699			outputs: []outputInfo{
9700				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9701			},
9702		},
9703	},
9704	{
9705		name:           "XORQload",
9706		auxType:        auxSymOff,
9707		argLen:         3,
9708		resultInArg0:   true,
9709		clobberFlags:   true,
9710		faultOnNilArg1: true,
9711		symEffect:      SymRead,
9712		asm:            x86.AXORQ,
9713		reg: regInfo{
9714			inputs: []inputInfo{
9715				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9716				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9717			},
9718			outputs: []outputInfo{
9719				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9720			},
9721		},
9722	},
9723	{
9724		name:           "XORLload",
9725		auxType:        auxSymOff,
9726		argLen:         3,
9727		resultInArg0:   true,
9728		clobberFlags:   true,
9729		faultOnNilArg1: true,
9730		symEffect:      SymRead,
9731		asm:            x86.AXORL,
9732		reg: regInfo{
9733			inputs: []inputInfo{
9734				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9735				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9736			},
9737			outputs: []outputInfo{
9738				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9739			},
9740		},
9741	},
9742	{
9743		name:         "ADDLloadidx1",
9744		auxType:      auxSymOff,
9745		argLen:       4,
9746		resultInArg0: true,
9747		clobberFlags: true,
9748		symEffect:    SymRead,
9749		asm:          x86.AADDL,
9750		scale:        1,
9751		reg: regInfo{
9752			inputs: []inputInfo{
9753				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9754				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9755				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9756			},
9757			outputs: []outputInfo{
9758				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9759			},
9760		},
9761	},
9762	{
9763		name:         "ADDLloadidx4",
9764		auxType:      auxSymOff,
9765		argLen:       4,
9766		resultInArg0: true,
9767		clobberFlags: true,
9768		symEffect:    SymRead,
9769		asm:          x86.AADDL,
9770		scale:        4,
9771		reg: regInfo{
9772			inputs: []inputInfo{
9773				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9774				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9775				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9776			},
9777			outputs: []outputInfo{
9778				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9779			},
9780		},
9781	},
9782	{
9783		name:         "ADDLloadidx8",
9784		auxType:      auxSymOff,
9785		argLen:       4,
9786		resultInArg0: true,
9787		clobberFlags: true,
9788		symEffect:    SymRead,
9789		asm:          x86.AADDL,
9790		scale:        8,
9791		reg: regInfo{
9792			inputs: []inputInfo{
9793				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9794				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9795				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9796			},
9797			outputs: []outputInfo{
9798				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9799			},
9800		},
9801	},
9802	{
9803		name:         "ADDQloadidx1",
9804		auxType:      auxSymOff,
9805		argLen:       4,
9806		resultInArg0: true,
9807		clobberFlags: true,
9808		symEffect:    SymRead,
9809		asm:          x86.AADDQ,
9810		scale:        1,
9811		reg: regInfo{
9812			inputs: []inputInfo{
9813				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9814				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9815				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9816			},
9817			outputs: []outputInfo{
9818				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9819			},
9820		},
9821	},
9822	{
9823		name:         "ADDQloadidx8",
9824		auxType:      auxSymOff,
9825		argLen:       4,
9826		resultInArg0: true,
9827		clobberFlags: true,
9828		symEffect:    SymRead,
9829		asm:          x86.AADDQ,
9830		scale:        8,
9831		reg: regInfo{
9832			inputs: []inputInfo{
9833				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9834				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9835				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9836			},
9837			outputs: []outputInfo{
9838				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9839			},
9840		},
9841	},
9842	{
9843		name:         "SUBLloadidx1",
9844		auxType:      auxSymOff,
9845		argLen:       4,
9846		resultInArg0: true,
9847		clobberFlags: true,
9848		symEffect:    SymRead,
9849		asm:          x86.ASUBL,
9850		scale:        1,
9851		reg: regInfo{
9852			inputs: []inputInfo{
9853				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9854				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9855				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9856			},
9857			outputs: []outputInfo{
9858				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9859			},
9860		},
9861	},
9862	{
9863		name:         "SUBLloadidx4",
9864		auxType:      auxSymOff,
9865		argLen:       4,
9866		resultInArg0: true,
9867		clobberFlags: true,
9868		symEffect:    SymRead,
9869		asm:          x86.ASUBL,
9870		scale:        4,
9871		reg: regInfo{
9872			inputs: []inputInfo{
9873				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9874				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9875				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9876			},
9877			outputs: []outputInfo{
9878				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9879			},
9880		},
9881	},
9882	{
9883		name:         "SUBLloadidx8",
9884		auxType:      auxSymOff,
9885		argLen:       4,
9886		resultInArg0: true,
9887		clobberFlags: true,
9888		symEffect:    SymRead,
9889		asm:          x86.ASUBL,
9890		scale:        8,
9891		reg: regInfo{
9892			inputs: []inputInfo{
9893				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9894				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9895				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9896			},
9897			outputs: []outputInfo{
9898				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9899			},
9900		},
9901	},
9902	{
9903		name:         "SUBQloadidx1",
9904		auxType:      auxSymOff,
9905		argLen:       4,
9906		resultInArg0: true,
9907		clobberFlags: true,
9908		symEffect:    SymRead,
9909		asm:          x86.ASUBQ,
9910		scale:        1,
9911		reg: regInfo{
9912			inputs: []inputInfo{
9913				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9914				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9915				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9916			},
9917			outputs: []outputInfo{
9918				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9919			},
9920		},
9921	},
9922	{
9923		name:         "SUBQloadidx8",
9924		auxType:      auxSymOff,
9925		argLen:       4,
9926		resultInArg0: true,
9927		clobberFlags: true,
9928		symEffect:    SymRead,
9929		asm:          x86.ASUBQ,
9930		scale:        8,
9931		reg: regInfo{
9932			inputs: []inputInfo{
9933				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9934				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9935				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9936			},
9937			outputs: []outputInfo{
9938				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9939			},
9940		},
9941	},
9942	{
9943		name:         "ANDLloadidx1",
9944		auxType:      auxSymOff,
9945		argLen:       4,
9946		resultInArg0: true,
9947		clobberFlags: true,
9948		symEffect:    SymRead,
9949		asm:          x86.AANDL,
9950		scale:        1,
9951		reg: regInfo{
9952			inputs: []inputInfo{
9953				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9954				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9955				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9956			},
9957			outputs: []outputInfo{
9958				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9959			},
9960		},
9961	},
9962	{
9963		name:         "ANDLloadidx4",
9964		auxType:      auxSymOff,
9965		argLen:       4,
9966		resultInArg0: true,
9967		clobberFlags: true,
9968		symEffect:    SymRead,
9969		asm:          x86.AANDL,
9970		scale:        4,
9971		reg: regInfo{
9972			inputs: []inputInfo{
9973				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9974				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9975				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9976			},
9977			outputs: []outputInfo{
9978				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9979			},
9980		},
9981	},
9982	{
9983		name:         "ANDLloadidx8",
9984		auxType:      auxSymOff,
9985		argLen:       4,
9986		resultInArg0: true,
9987		clobberFlags: true,
9988		symEffect:    SymRead,
9989		asm:          x86.AANDL,
9990		scale:        8,
9991		reg: regInfo{
9992			inputs: []inputInfo{
9993				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9994				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
9995				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
9996			},
9997			outputs: []outputInfo{
9998				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
9999			},
10000		},
10001	},
10002	{
10003		name:         "ANDQloadidx1",
10004		auxType:      auxSymOff,
10005		argLen:       4,
10006		resultInArg0: true,
10007		clobberFlags: true,
10008		symEffect:    SymRead,
10009		asm:          x86.AANDQ,
10010		scale:        1,
10011		reg: regInfo{
10012			inputs: []inputInfo{
10013				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10014				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10015				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10016			},
10017			outputs: []outputInfo{
10018				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10019			},
10020		},
10021	},
10022	{
10023		name:         "ANDQloadidx8",
10024		auxType:      auxSymOff,
10025		argLen:       4,
10026		resultInArg0: true,
10027		clobberFlags: true,
10028		symEffect:    SymRead,
10029		asm:          x86.AANDQ,
10030		scale:        8,
10031		reg: regInfo{
10032			inputs: []inputInfo{
10033				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10034				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10035				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10036			},
10037			outputs: []outputInfo{
10038				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10039			},
10040		},
10041	},
10042	{
10043		name:         "ORLloadidx1",
10044		auxType:      auxSymOff,
10045		argLen:       4,
10046		resultInArg0: true,
10047		clobberFlags: true,
10048		symEffect:    SymRead,
10049		asm:          x86.AORL,
10050		scale:        1,
10051		reg: regInfo{
10052			inputs: []inputInfo{
10053				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10054				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10055				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10056			},
10057			outputs: []outputInfo{
10058				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10059			},
10060		},
10061	},
10062	{
10063		name:         "ORLloadidx4",
10064		auxType:      auxSymOff,
10065		argLen:       4,
10066		resultInArg0: true,
10067		clobberFlags: true,
10068		symEffect:    SymRead,
10069		asm:          x86.AORL,
10070		scale:        4,
10071		reg: regInfo{
10072			inputs: []inputInfo{
10073				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10074				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10075				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10076			},
10077			outputs: []outputInfo{
10078				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10079			},
10080		},
10081	},
10082	{
10083		name:         "ORLloadidx8",
10084		auxType:      auxSymOff,
10085		argLen:       4,
10086		resultInArg0: true,
10087		clobberFlags: true,
10088		symEffect:    SymRead,
10089		asm:          x86.AORL,
10090		scale:        8,
10091		reg: regInfo{
10092			inputs: []inputInfo{
10093				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10094				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10095				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10096			},
10097			outputs: []outputInfo{
10098				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10099			},
10100		},
10101	},
10102	{
10103		name:         "ORQloadidx1",
10104		auxType:      auxSymOff,
10105		argLen:       4,
10106		resultInArg0: true,
10107		clobberFlags: true,
10108		symEffect:    SymRead,
10109		asm:          x86.AORQ,
10110		scale:        1,
10111		reg: regInfo{
10112			inputs: []inputInfo{
10113				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10114				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10115				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10116			},
10117			outputs: []outputInfo{
10118				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10119			},
10120		},
10121	},
10122	{
10123		name:         "ORQloadidx8",
10124		auxType:      auxSymOff,
10125		argLen:       4,
10126		resultInArg0: true,
10127		clobberFlags: true,
10128		symEffect:    SymRead,
10129		asm:          x86.AORQ,
10130		scale:        8,
10131		reg: regInfo{
10132			inputs: []inputInfo{
10133				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10134				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10135				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10136			},
10137			outputs: []outputInfo{
10138				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10139			},
10140		},
10141	},
10142	{
10143		name:         "XORLloadidx1",
10144		auxType:      auxSymOff,
10145		argLen:       4,
10146		resultInArg0: true,
10147		clobberFlags: true,
10148		symEffect:    SymRead,
10149		asm:          x86.AXORL,
10150		scale:        1,
10151		reg: regInfo{
10152			inputs: []inputInfo{
10153				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10154				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10155				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10156			},
10157			outputs: []outputInfo{
10158				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10159			},
10160		},
10161	},
10162	{
10163		name:         "XORLloadidx4",
10164		auxType:      auxSymOff,
10165		argLen:       4,
10166		resultInArg0: true,
10167		clobberFlags: true,
10168		symEffect:    SymRead,
10169		asm:          x86.AXORL,
10170		scale:        4,
10171		reg: regInfo{
10172			inputs: []inputInfo{
10173				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10174				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10175				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10176			},
10177			outputs: []outputInfo{
10178				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10179			},
10180		},
10181	},
10182	{
10183		name:         "XORLloadidx8",
10184		auxType:      auxSymOff,
10185		argLen:       4,
10186		resultInArg0: true,
10187		clobberFlags: true,
10188		symEffect:    SymRead,
10189		asm:          x86.AXORL,
10190		scale:        8,
10191		reg: regInfo{
10192			inputs: []inputInfo{
10193				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10194				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10195				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10196			},
10197			outputs: []outputInfo{
10198				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10199			},
10200		},
10201	},
10202	{
10203		name:         "XORQloadidx1",
10204		auxType:      auxSymOff,
10205		argLen:       4,
10206		resultInArg0: true,
10207		clobberFlags: true,
10208		symEffect:    SymRead,
10209		asm:          x86.AXORQ,
10210		scale:        1,
10211		reg: regInfo{
10212			inputs: []inputInfo{
10213				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10214				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10215				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10216			},
10217			outputs: []outputInfo{
10218				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10219			},
10220		},
10221	},
10222	{
10223		name:         "XORQloadidx8",
10224		auxType:      auxSymOff,
10225		argLen:       4,
10226		resultInArg0: true,
10227		clobberFlags: true,
10228		symEffect:    SymRead,
10229		asm:          x86.AXORQ,
10230		scale:        8,
10231		reg: regInfo{
10232			inputs: []inputInfo{
10233				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10234				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10235				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10236			},
10237			outputs: []outputInfo{
10238				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
10239			},
10240		},
10241	},
10242	{
10243		name:           "ADDQmodify",
10244		auxType:        auxSymOff,
10245		argLen:         3,
10246		clobberFlags:   true,
10247		faultOnNilArg0: true,
10248		symEffect:      SymRead | SymWrite,
10249		asm:            x86.AADDQ,
10250		reg: regInfo{
10251			inputs: []inputInfo{
10252				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10253				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10254			},
10255		},
10256	},
10257	{
10258		name:           "SUBQmodify",
10259		auxType:        auxSymOff,
10260		argLen:         3,
10261		clobberFlags:   true,
10262		faultOnNilArg0: true,
10263		symEffect:      SymRead | SymWrite,
10264		asm:            x86.ASUBQ,
10265		reg: regInfo{
10266			inputs: []inputInfo{
10267				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10268				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10269			},
10270		},
10271	},
10272	{
10273		name:           "ANDQmodify",
10274		auxType:        auxSymOff,
10275		argLen:         3,
10276		clobberFlags:   true,
10277		faultOnNilArg0: true,
10278		symEffect:      SymRead | SymWrite,
10279		asm:            x86.AANDQ,
10280		reg: regInfo{
10281			inputs: []inputInfo{
10282				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10283				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10284			},
10285		},
10286	},
10287	{
10288		name:           "ORQmodify",
10289		auxType:        auxSymOff,
10290		argLen:         3,
10291		clobberFlags:   true,
10292		faultOnNilArg0: true,
10293		symEffect:      SymRead | SymWrite,
10294		asm:            x86.AORQ,
10295		reg: regInfo{
10296			inputs: []inputInfo{
10297				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10298				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10299			},
10300		},
10301	},
10302	{
10303		name:           "XORQmodify",
10304		auxType:        auxSymOff,
10305		argLen:         3,
10306		clobberFlags:   true,
10307		faultOnNilArg0: true,
10308		symEffect:      SymRead | SymWrite,
10309		asm:            x86.AXORQ,
10310		reg: regInfo{
10311			inputs: []inputInfo{
10312				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10313				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10314			},
10315		},
10316	},
10317	{
10318		name:           "ADDLmodify",
10319		auxType:        auxSymOff,
10320		argLen:         3,
10321		clobberFlags:   true,
10322		faultOnNilArg0: true,
10323		symEffect:      SymRead | SymWrite,
10324		asm:            x86.AADDL,
10325		reg: regInfo{
10326			inputs: []inputInfo{
10327				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10328				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10329			},
10330		},
10331	},
10332	{
10333		name:           "SUBLmodify",
10334		auxType:        auxSymOff,
10335		argLen:         3,
10336		clobberFlags:   true,
10337		faultOnNilArg0: true,
10338		symEffect:      SymRead | SymWrite,
10339		asm:            x86.ASUBL,
10340		reg: regInfo{
10341			inputs: []inputInfo{
10342				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10343				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10344			},
10345		},
10346	},
10347	{
10348		name:           "ANDLmodify",
10349		auxType:        auxSymOff,
10350		argLen:         3,
10351		clobberFlags:   true,
10352		faultOnNilArg0: true,
10353		symEffect:      SymRead | SymWrite,
10354		asm:            x86.AANDL,
10355		reg: regInfo{
10356			inputs: []inputInfo{
10357				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10358				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10359			},
10360		},
10361	},
10362	{
10363		name:           "ORLmodify",
10364		auxType:        auxSymOff,
10365		argLen:         3,
10366		clobberFlags:   true,
10367		faultOnNilArg0: true,
10368		symEffect:      SymRead | SymWrite,
10369		asm:            x86.AORL,
10370		reg: regInfo{
10371			inputs: []inputInfo{
10372				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10373				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10374			},
10375		},
10376	},
10377	{
10378		name:           "XORLmodify",
10379		auxType:        auxSymOff,
10380		argLen:         3,
10381		clobberFlags:   true,
10382		faultOnNilArg0: true,
10383		symEffect:      SymRead | SymWrite,
10384		asm:            x86.AXORL,
10385		reg: regInfo{
10386			inputs: []inputInfo{
10387				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10388				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10389			},
10390		},
10391	},
10392	{
10393		name:         "ADDQmodifyidx1",
10394		auxType:      auxSymOff,
10395		argLen:       4,
10396		clobberFlags: true,
10397		symEffect:    SymRead | SymWrite,
10398		asm:          x86.AADDQ,
10399		scale:        1,
10400		reg: regInfo{
10401			inputs: []inputInfo{
10402				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10403				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10404				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10405			},
10406		},
10407	},
10408	{
10409		name:         "ADDQmodifyidx8",
10410		auxType:      auxSymOff,
10411		argLen:       4,
10412		clobberFlags: true,
10413		symEffect:    SymRead | SymWrite,
10414		asm:          x86.AADDQ,
10415		scale:        8,
10416		reg: regInfo{
10417			inputs: []inputInfo{
10418				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10419				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10420				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10421			},
10422		},
10423	},
10424	{
10425		name:         "SUBQmodifyidx1",
10426		auxType:      auxSymOff,
10427		argLen:       4,
10428		clobberFlags: true,
10429		symEffect:    SymRead | SymWrite,
10430		asm:          x86.ASUBQ,
10431		scale:        1,
10432		reg: regInfo{
10433			inputs: []inputInfo{
10434				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10435				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10436				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10437			},
10438		},
10439	},
10440	{
10441		name:         "SUBQmodifyidx8",
10442		auxType:      auxSymOff,
10443		argLen:       4,
10444		clobberFlags: true,
10445		symEffect:    SymRead | SymWrite,
10446		asm:          x86.ASUBQ,
10447		scale:        8,
10448		reg: regInfo{
10449			inputs: []inputInfo{
10450				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10451				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10452				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10453			},
10454		},
10455	},
10456	{
10457		name:         "ANDQmodifyidx1",
10458		auxType:      auxSymOff,
10459		argLen:       4,
10460		clobberFlags: true,
10461		symEffect:    SymRead | SymWrite,
10462		asm:          x86.AANDQ,
10463		scale:        1,
10464		reg: regInfo{
10465			inputs: []inputInfo{
10466				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10467				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10468				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10469			},
10470		},
10471	},
10472	{
10473		name:         "ANDQmodifyidx8",
10474		auxType:      auxSymOff,
10475		argLen:       4,
10476		clobberFlags: true,
10477		symEffect:    SymRead | SymWrite,
10478		asm:          x86.AANDQ,
10479		scale:        8,
10480		reg: regInfo{
10481			inputs: []inputInfo{
10482				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10483				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10484				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10485			},
10486		},
10487	},
10488	{
10489		name:         "ORQmodifyidx1",
10490		auxType:      auxSymOff,
10491		argLen:       4,
10492		clobberFlags: true,
10493		symEffect:    SymRead | SymWrite,
10494		asm:          x86.AORQ,
10495		scale:        1,
10496		reg: regInfo{
10497			inputs: []inputInfo{
10498				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10499				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10500				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10501			},
10502		},
10503	},
10504	{
10505		name:         "ORQmodifyidx8",
10506		auxType:      auxSymOff,
10507		argLen:       4,
10508		clobberFlags: true,
10509		symEffect:    SymRead | SymWrite,
10510		asm:          x86.AORQ,
10511		scale:        8,
10512		reg: regInfo{
10513			inputs: []inputInfo{
10514				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10515				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10516				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10517			},
10518		},
10519	},
10520	{
10521		name:         "XORQmodifyidx1",
10522		auxType:      auxSymOff,
10523		argLen:       4,
10524		clobberFlags: true,
10525		symEffect:    SymRead | SymWrite,
10526		asm:          x86.AXORQ,
10527		scale:        1,
10528		reg: regInfo{
10529			inputs: []inputInfo{
10530				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10531				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10532				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10533			},
10534		},
10535	},
10536	{
10537		name:         "XORQmodifyidx8",
10538		auxType:      auxSymOff,
10539		argLen:       4,
10540		clobberFlags: true,
10541		symEffect:    SymRead | SymWrite,
10542		asm:          x86.AXORQ,
10543		scale:        8,
10544		reg: regInfo{
10545			inputs: []inputInfo{
10546				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10547				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10548				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10549			},
10550		},
10551	},
10552	{
10553		name:         "ADDLmodifyidx1",
10554		auxType:      auxSymOff,
10555		argLen:       4,
10556		clobberFlags: true,
10557		symEffect:    SymRead | SymWrite,
10558		asm:          x86.AADDL,
10559		scale:        1,
10560		reg: regInfo{
10561			inputs: []inputInfo{
10562				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10563				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10564				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10565			},
10566		},
10567	},
10568	{
10569		name:         "ADDLmodifyidx4",
10570		auxType:      auxSymOff,
10571		argLen:       4,
10572		clobberFlags: true,
10573		symEffect:    SymRead | SymWrite,
10574		asm:          x86.AADDL,
10575		scale:        4,
10576		reg: regInfo{
10577			inputs: []inputInfo{
10578				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10579				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10580				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10581			},
10582		},
10583	},
10584	{
10585		name:         "ADDLmodifyidx8",
10586		auxType:      auxSymOff,
10587		argLen:       4,
10588		clobberFlags: true,
10589		symEffect:    SymRead | SymWrite,
10590		asm:          x86.AADDL,
10591		scale:        8,
10592		reg: regInfo{
10593			inputs: []inputInfo{
10594				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10595				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10596				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10597			},
10598		},
10599	},
10600	{
10601		name:         "SUBLmodifyidx1",
10602		auxType:      auxSymOff,
10603		argLen:       4,
10604		clobberFlags: true,
10605		symEffect:    SymRead | SymWrite,
10606		asm:          x86.ASUBL,
10607		scale:        1,
10608		reg: regInfo{
10609			inputs: []inputInfo{
10610				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10611				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10612				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10613			},
10614		},
10615	},
10616	{
10617		name:         "SUBLmodifyidx4",
10618		auxType:      auxSymOff,
10619		argLen:       4,
10620		clobberFlags: true,
10621		symEffect:    SymRead | SymWrite,
10622		asm:          x86.ASUBL,
10623		scale:        4,
10624		reg: regInfo{
10625			inputs: []inputInfo{
10626				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10627				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10628				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10629			},
10630		},
10631	},
10632	{
10633		name:         "SUBLmodifyidx8",
10634		auxType:      auxSymOff,
10635		argLen:       4,
10636		clobberFlags: true,
10637		symEffect:    SymRead | SymWrite,
10638		asm:          x86.ASUBL,
10639		scale:        8,
10640		reg: regInfo{
10641			inputs: []inputInfo{
10642				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10643				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10644				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10645			},
10646		},
10647	},
10648	{
10649		name:         "ANDLmodifyidx1",
10650		auxType:      auxSymOff,
10651		argLen:       4,
10652		clobberFlags: true,
10653		symEffect:    SymRead | SymWrite,
10654		asm:          x86.AANDL,
10655		scale:        1,
10656		reg: regInfo{
10657			inputs: []inputInfo{
10658				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10659				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10660				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10661			},
10662		},
10663	},
10664	{
10665		name:         "ANDLmodifyidx4",
10666		auxType:      auxSymOff,
10667		argLen:       4,
10668		clobberFlags: true,
10669		symEffect:    SymRead | SymWrite,
10670		asm:          x86.AANDL,
10671		scale:        4,
10672		reg: regInfo{
10673			inputs: []inputInfo{
10674				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10675				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10676				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10677			},
10678		},
10679	},
10680	{
10681		name:         "ANDLmodifyidx8",
10682		auxType:      auxSymOff,
10683		argLen:       4,
10684		clobberFlags: true,
10685		symEffect:    SymRead | SymWrite,
10686		asm:          x86.AANDL,
10687		scale:        8,
10688		reg: regInfo{
10689			inputs: []inputInfo{
10690				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10691				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10692				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10693			},
10694		},
10695	},
10696	{
10697		name:         "ORLmodifyidx1",
10698		auxType:      auxSymOff,
10699		argLen:       4,
10700		clobberFlags: true,
10701		symEffect:    SymRead | SymWrite,
10702		asm:          x86.AORL,
10703		scale:        1,
10704		reg: regInfo{
10705			inputs: []inputInfo{
10706				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10707				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10708				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10709			},
10710		},
10711	},
10712	{
10713		name:         "ORLmodifyidx4",
10714		auxType:      auxSymOff,
10715		argLen:       4,
10716		clobberFlags: true,
10717		symEffect:    SymRead | SymWrite,
10718		asm:          x86.AORL,
10719		scale:        4,
10720		reg: regInfo{
10721			inputs: []inputInfo{
10722				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10723				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10724				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10725			},
10726		},
10727	},
10728	{
10729		name:         "ORLmodifyidx8",
10730		auxType:      auxSymOff,
10731		argLen:       4,
10732		clobberFlags: true,
10733		symEffect:    SymRead | SymWrite,
10734		asm:          x86.AORL,
10735		scale:        8,
10736		reg: regInfo{
10737			inputs: []inputInfo{
10738				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10739				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10740				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10741			},
10742		},
10743	},
10744	{
10745		name:         "XORLmodifyidx1",
10746		auxType:      auxSymOff,
10747		argLen:       4,
10748		clobberFlags: true,
10749		symEffect:    SymRead | SymWrite,
10750		asm:          x86.AXORL,
10751		scale:        1,
10752		reg: regInfo{
10753			inputs: []inputInfo{
10754				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10755				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10756				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10757			},
10758		},
10759	},
10760	{
10761		name:         "XORLmodifyidx4",
10762		auxType:      auxSymOff,
10763		argLen:       4,
10764		clobberFlags: true,
10765		symEffect:    SymRead | SymWrite,
10766		asm:          x86.AXORL,
10767		scale:        4,
10768		reg: regInfo{
10769			inputs: []inputInfo{
10770				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10771				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10772				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10773			},
10774		},
10775	},
10776	{
10777		name:         "XORLmodifyidx8",
10778		auxType:      auxSymOff,
10779		argLen:       4,
10780		clobberFlags: true,
10781		symEffect:    SymRead | SymWrite,
10782		asm:          x86.AXORL,
10783		scale:        8,
10784		reg: regInfo{
10785			inputs: []inputInfo{
10786				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10787				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10788				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10789			},
10790		},
10791	},
10792	{
10793		name:         "ADDQconstmodifyidx1",
10794		auxType:      auxSymValAndOff,
10795		argLen:       3,
10796		clobberFlags: true,
10797		symEffect:    SymRead | SymWrite,
10798		asm:          x86.AADDQ,
10799		scale:        1,
10800		reg: regInfo{
10801			inputs: []inputInfo{
10802				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10803				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10804			},
10805		},
10806	},
10807	{
10808		name:         "ADDQconstmodifyidx8",
10809		auxType:      auxSymValAndOff,
10810		argLen:       3,
10811		clobberFlags: true,
10812		symEffect:    SymRead | SymWrite,
10813		asm:          x86.AADDQ,
10814		scale:        8,
10815		reg: regInfo{
10816			inputs: []inputInfo{
10817				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10818				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10819			},
10820		},
10821	},
10822	{
10823		name:         "ANDQconstmodifyidx1",
10824		auxType:      auxSymValAndOff,
10825		argLen:       3,
10826		clobberFlags: true,
10827		symEffect:    SymRead | SymWrite,
10828		asm:          x86.AANDQ,
10829		scale:        1,
10830		reg: regInfo{
10831			inputs: []inputInfo{
10832				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10833				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10834			},
10835		},
10836	},
10837	{
10838		name:         "ANDQconstmodifyidx8",
10839		auxType:      auxSymValAndOff,
10840		argLen:       3,
10841		clobberFlags: true,
10842		symEffect:    SymRead | SymWrite,
10843		asm:          x86.AANDQ,
10844		scale:        8,
10845		reg: regInfo{
10846			inputs: []inputInfo{
10847				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10848				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10849			},
10850		},
10851	},
10852	{
10853		name:         "ORQconstmodifyidx1",
10854		auxType:      auxSymValAndOff,
10855		argLen:       3,
10856		clobberFlags: true,
10857		symEffect:    SymRead | SymWrite,
10858		asm:          x86.AORQ,
10859		scale:        1,
10860		reg: regInfo{
10861			inputs: []inputInfo{
10862				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10863				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10864			},
10865		},
10866	},
10867	{
10868		name:         "ORQconstmodifyidx8",
10869		auxType:      auxSymValAndOff,
10870		argLen:       3,
10871		clobberFlags: true,
10872		symEffect:    SymRead | SymWrite,
10873		asm:          x86.AORQ,
10874		scale:        8,
10875		reg: regInfo{
10876			inputs: []inputInfo{
10877				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10878				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10879			},
10880		},
10881	},
10882	{
10883		name:         "XORQconstmodifyidx1",
10884		auxType:      auxSymValAndOff,
10885		argLen:       3,
10886		clobberFlags: true,
10887		symEffect:    SymRead | SymWrite,
10888		asm:          x86.AXORQ,
10889		scale:        1,
10890		reg: regInfo{
10891			inputs: []inputInfo{
10892				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10893				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10894			},
10895		},
10896	},
10897	{
10898		name:         "XORQconstmodifyidx8",
10899		auxType:      auxSymValAndOff,
10900		argLen:       3,
10901		clobberFlags: true,
10902		symEffect:    SymRead | SymWrite,
10903		asm:          x86.AXORQ,
10904		scale:        8,
10905		reg: regInfo{
10906			inputs: []inputInfo{
10907				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10908				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10909			},
10910		},
10911	},
10912	{
10913		name:         "ADDLconstmodifyidx1",
10914		auxType:      auxSymValAndOff,
10915		argLen:       3,
10916		clobberFlags: true,
10917		symEffect:    SymRead | SymWrite,
10918		asm:          x86.AADDL,
10919		scale:        1,
10920		reg: regInfo{
10921			inputs: []inputInfo{
10922				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10923				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10924			},
10925		},
10926	},
10927	{
10928		name:         "ADDLconstmodifyidx4",
10929		auxType:      auxSymValAndOff,
10930		argLen:       3,
10931		clobberFlags: true,
10932		symEffect:    SymRead | SymWrite,
10933		asm:          x86.AADDL,
10934		scale:        4,
10935		reg: regInfo{
10936			inputs: []inputInfo{
10937				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10938				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10939			},
10940		},
10941	},
10942	{
10943		name:         "ADDLconstmodifyidx8",
10944		auxType:      auxSymValAndOff,
10945		argLen:       3,
10946		clobberFlags: true,
10947		symEffect:    SymRead | SymWrite,
10948		asm:          x86.AADDL,
10949		scale:        8,
10950		reg: regInfo{
10951			inputs: []inputInfo{
10952				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10953				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10954			},
10955		},
10956	},
10957	{
10958		name:         "ANDLconstmodifyidx1",
10959		auxType:      auxSymValAndOff,
10960		argLen:       3,
10961		clobberFlags: true,
10962		symEffect:    SymRead | SymWrite,
10963		asm:          x86.AANDL,
10964		scale:        1,
10965		reg: regInfo{
10966			inputs: []inputInfo{
10967				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10968				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10969			},
10970		},
10971	},
10972	{
10973		name:         "ANDLconstmodifyidx4",
10974		auxType:      auxSymValAndOff,
10975		argLen:       3,
10976		clobberFlags: true,
10977		symEffect:    SymRead | SymWrite,
10978		asm:          x86.AANDL,
10979		scale:        4,
10980		reg: regInfo{
10981			inputs: []inputInfo{
10982				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10983				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10984			},
10985		},
10986	},
10987	{
10988		name:         "ANDLconstmodifyidx8",
10989		auxType:      auxSymValAndOff,
10990		argLen:       3,
10991		clobberFlags: true,
10992		symEffect:    SymRead | SymWrite,
10993		asm:          x86.AANDL,
10994		scale:        8,
10995		reg: regInfo{
10996			inputs: []inputInfo{
10997				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
10998				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
10999			},
11000		},
11001	},
11002	{
11003		name:         "ORLconstmodifyidx1",
11004		auxType:      auxSymValAndOff,
11005		argLen:       3,
11006		clobberFlags: true,
11007		symEffect:    SymRead | SymWrite,
11008		asm:          x86.AORL,
11009		scale:        1,
11010		reg: regInfo{
11011			inputs: []inputInfo{
11012				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11013				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
11014			},
11015		},
11016	},
11017	{
11018		name:         "ORLconstmodifyidx4",
11019		auxType:      auxSymValAndOff,
11020		argLen:       3,
11021		clobberFlags: true,
11022		symEffect:    SymRead | SymWrite,
11023		asm:          x86.AORL,
11024		scale:        4,
11025		reg: regInfo{
11026			inputs: []inputInfo{
11027				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11028				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
11029			},
11030		},
11031	},
11032	{
11033		name:         "ORLconstmodifyidx8",
11034		auxType:      auxSymValAndOff,
11035		argLen:       3,
11036		clobberFlags: true,
11037		symEffect:    SymRead | SymWrite,
11038		asm:          x86.AORL,
11039		scale:        8,
11040		reg: regInfo{
11041			inputs: []inputInfo{
11042				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11043				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
11044			},
11045		},
11046	},
11047	{
11048		name:         "XORLconstmodifyidx1",
11049		auxType:      auxSymValAndOff,
11050		argLen:       3,
11051		clobberFlags: true,
11052		symEffect:    SymRead | SymWrite,
11053		asm:          x86.AXORL,
11054		scale:        1,
11055		reg: regInfo{
11056			inputs: []inputInfo{
11057				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11058				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
11059			},
11060		},
11061	},
11062	{
11063		name:         "XORLconstmodifyidx4",
11064		auxType:      auxSymValAndOff,
11065		argLen:       3,
11066		clobberFlags: true,
11067		symEffect:    SymRead | SymWrite,
11068		asm:          x86.AXORL,
11069		scale:        4,
11070		reg: regInfo{
11071			inputs: []inputInfo{
11072				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11073				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
11074			},
11075		},
11076	},
11077	{
11078		name:         "XORLconstmodifyidx8",
11079		auxType:      auxSymValAndOff,
11080		argLen:       3,
11081		clobberFlags: true,
11082		symEffect:    SymRead | SymWrite,
11083		asm:          x86.AXORL,
11084		scale:        8,
11085		reg: regInfo{
11086			inputs: []inputInfo{
11087				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
11088				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
11089			},
11090		},
11091	},
11092	{
11093		name:         "NEGQ",
11094		argLen:       1,
11095		resultInArg0: true,
11096		clobberFlags: true,
11097		asm:          x86.ANEGQ,
11098		reg: regInfo{
11099			inputs: []inputInfo{
11100				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11101			},
11102			outputs: []outputInfo{
11103				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11104			},
11105		},
11106	},
11107	{
11108		name:         "NEGL",
11109		argLen:       1,
11110		resultInArg0: true,
11111		clobberFlags: true,
11112		asm:          x86.ANEGL,
11113		reg: regInfo{
11114			inputs: []inputInfo{
11115				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11116			},
11117			outputs: []outputInfo{
11118				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11119			},
11120		},
11121	},
11122	{
11123		name:         "NOTQ",
11124		argLen:       1,
11125		resultInArg0: true,
11126		asm:          x86.ANOTQ,
11127		reg: regInfo{
11128			inputs: []inputInfo{
11129				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11130			},
11131			outputs: []outputInfo{
11132				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11133			},
11134		},
11135	},
11136	{
11137		name:         "NOTL",
11138		argLen:       1,
11139		resultInArg0: true,
11140		asm:          x86.ANOTL,
11141		reg: regInfo{
11142			inputs: []inputInfo{
11143				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11144			},
11145			outputs: []outputInfo{
11146				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11147			},
11148		},
11149	},
11150	{
11151		name:   "BSFQ",
11152		argLen: 1,
11153		asm:    x86.ABSFQ,
11154		reg: regInfo{
11155			inputs: []inputInfo{
11156				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11157			},
11158			outputs: []outputInfo{
11159				{1, 0},
11160				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11161			},
11162		},
11163	},
11164	{
11165		name:         "BSFL",
11166		argLen:       1,
11167		clobberFlags: true,
11168		asm:          x86.ABSFL,
11169		reg: regInfo{
11170			inputs: []inputInfo{
11171				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11172			},
11173			outputs: []outputInfo{
11174				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11175			},
11176		},
11177	},
11178	{
11179		name:   "BSRQ",
11180		argLen: 1,
11181		asm:    x86.ABSRQ,
11182		reg: regInfo{
11183			inputs: []inputInfo{
11184				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11185			},
11186			outputs: []outputInfo{
11187				{1, 0},
11188				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11189			},
11190		},
11191	},
11192	{
11193		name:         "BSRL",
11194		argLen:       1,
11195		clobberFlags: true,
11196		asm:          x86.ABSRL,
11197		reg: regInfo{
11198			inputs: []inputInfo{
11199				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11200			},
11201			outputs: []outputInfo{
11202				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11203			},
11204		},
11205	},
11206	{
11207		name:         "CMOVQEQ",
11208		argLen:       3,
11209		resultInArg0: true,
11210		asm:          x86.ACMOVQEQ,
11211		reg: regInfo{
11212			inputs: []inputInfo{
11213				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11214				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11215			},
11216			outputs: []outputInfo{
11217				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11218			},
11219		},
11220	},
11221	{
11222		name:         "CMOVQNE",
11223		argLen:       3,
11224		resultInArg0: true,
11225		asm:          x86.ACMOVQNE,
11226		reg: regInfo{
11227			inputs: []inputInfo{
11228				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11229				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11230			},
11231			outputs: []outputInfo{
11232				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11233			},
11234		},
11235	},
11236	{
11237		name:         "CMOVQLT",
11238		argLen:       3,
11239		resultInArg0: true,
11240		asm:          x86.ACMOVQLT,
11241		reg: regInfo{
11242			inputs: []inputInfo{
11243				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11244				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11245			},
11246			outputs: []outputInfo{
11247				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11248			},
11249		},
11250	},
11251	{
11252		name:         "CMOVQGT",
11253		argLen:       3,
11254		resultInArg0: true,
11255		asm:          x86.ACMOVQGT,
11256		reg: regInfo{
11257			inputs: []inputInfo{
11258				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11259				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11260			},
11261			outputs: []outputInfo{
11262				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11263			},
11264		},
11265	},
11266	{
11267		name:         "CMOVQLE",
11268		argLen:       3,
11269		resultInArg0: true,
11270		asm:          x86.ACMOVQLE,
11271		reg: regInfo{
11272			inputs: []inputInfo{
11273				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11274				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11275			},
11276			outputs: []outputInfo{
11277				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11278			},
11279		},
11280	},
11281	{
11282		name:         "CMOVQGE",
11283		argLen:       3,
11284		resultInArg0: true,
11285		asm:          x86.ACMOVQGE,
11286		reg: regInfo{
11287			inputs: []inputInfo{
11288				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11289				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11290			},
11291			outputs: []outputInfo{
11292				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11293			},
11294		},
11295	},
11296	{
11297		name:         "CMOVQLS",
11298		argLen:       3,
11299		resultInArg0: true,
11300		asm:          x86.ACMOVQLS,
11301		reg: regInfo{
11302			inputs: []inputInfo{
11303				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11304				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11305			},
11306			outputs: []outputInfo{
11307				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11308			},
11309		},
11310	},
11311	{
11312		name:         "CMOVQHI",
11313		argLen:       3,
11314		resultInArg0: true,
11315		asm:          x86.ACMOVQHI,
11316		reg: regInfo{
11317			inputs: []inputInfo{
11318				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11319				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11320			},
11321			outputs: []outputInfo{
11322				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11323			},
11324		},
11325	},
11326	{
11327		name:         "CMOVQCC",
11328		argLen:       3,
11329		resultInArg0: true,
11330		asm:          x86.ACMOVQCC,
11331		reg: regInfo{
11332			inputs: []inputInfo{
11333				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11334				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11335			},
11336			outputs: []outputInfo{
11337				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11338			},
11339		},
11340	},
11341	{
11342		name:         "CMOVQCS",
11343		argLen:       3,
11344		resultInArg0: true,
11345		asm:          x86.ACMOVQCS,
11346		reg: regInfo{
11347			inputs: []inputInfo{
11348				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11349				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11350			},
11351			outputs: []outputInfo{
11352				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11353			},
11354		},
11355	},
11356	{
11357		name:         "CMOVLEQ",
11358		argLen:       3,
11359		resultInArg0: true,
11360		asm:          x86.ACMOVLEQ,
11361		reg: regInfo{
11362			inputs: []inputInfo{
11363				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11364				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11365			},
11366			outputs: []outputInfo{
11367				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11368			},
11369		},
11370	},
11371	{
11372		name:         "CMOVLNE",
11373		argLen:       3,
11374		resultInArg0: true,
11375		asm:          x86.ACMOVLNE,
11376		reg: regInfo{
11377			inputs: []inputInfo{
11378				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11379				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11380			},
11381			outputs: []outputInfo{
11382				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11383			},
11384		},
11385	},
11386	{
11387		name:         "CMOVLLT",
11388		argLen:       3,
11389		resultInArg0: true,
11390		asm:          x86.ACMOVLLT,
11391		reg: regInfo{
11392			inputs: []inputInfo{
11393				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11394				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11395			},
11396			outputs: []outputInfo{
11397				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11398			},
11399		},
11400	},
11401	{
11402		name:         "CMOVLGT",
11403		argLen:       3,
11404		resultInArg0: true,
11405		asm:          x86.ACMOVLGT,
11406		reg: regInfo{
11407			inputs: []inputInfo{
11408				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11409				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11410			},
11411			outputs: []outputInfo{
11412				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11413			},
11414		},
11415	},
11416	{
11417		name:         "CMOVLLE",
11418		argLen:       3,
11419		resultInArg0: true,
11420		asm:          x86.ACMOVLLE,
11421		reg: regInfo{
11422			inputs: []inputInfo{
11423				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11424				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11425			},
11426			outputs: []outputInfo{
11427				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11428			},
11429		},
11430	},
11431	{
11432		name:         "CMOVLGE",
11433		argLen:       3,
11434		resultInArg0: true,
11435		asm:          x86.ACMOVLGE,
11436		reg: regInfo{
11437			inputs: []inputInfo{
11438				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11439				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11440			},
11441			outputs: []outputInfo{
11442				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11443			},
11444		},
11445	},
11446	{
11447		name:         "CMOVLLS",
11448		argLen:       3,
11449		resultInArg0: true,
11450		asm:          x86.ACMOVLLS,
11451		reg: regInfo{
11452			inputs: []inputInfo{
11453				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11454				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11455			},
11456			outputs: []outputInfo{
11457				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11458			},
11459		},
11460	},
11461	{
11462		name:         "CMOVLHI",
11463		argLen:       3,
11464		resultInArg0: true,
11465		asm:          x86.ACMOVLHI,
11466		reg: regInfo{
11467			inputs: []inputInfo{
11468				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11469				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11470			},
11471			outputs: []outputInfo{
11472				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11473			},
11474		},
11475	},
11476	{
11477		name:         "CMOVLCC",
11478		argLen:       3,
11479		resultInArg0: true,
11480		asm:          x86.ACMOVLCC,
11481		reg: regInfo{
11482			inputs: []inputInfo{
11483				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11484				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11485			},
11486			outputs: []outputInfo{
11487				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11488			},
11489		},
11490	},
11491	{
11492		name:         "CMOVLCS",
11493		argLen:       3,
11494		resultInArg0: true,
11495		asm:          x86.ACMOVLCS,
11496		reg: regInfo{
11497			inputs: []inputInfo{
11498				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11499				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11500			},
11501			outputs: []outputInfo{
11502				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11503			},
11504		},
11505	},
11506	{
11507		name:         "CMOVWEQ",
11508		argLen:       3,
11509		resultInArg0: true,
11510		asm:          x86.ACMOVWEQ,
11511		reg: regInfo{
11512			inputs: []inputInfo{
11513				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11514				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11515			},
11516			outputs: []outputInfo{
11517				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11518			},
11519		},
11520	},
11521	{
11522		name:         "CMOVWNE",
11523		argLen:       3,
11524		resultInArg0: true,
11525		asm:          x86.ACMOVWNE,
11526		reg: regInfo{
11527			inputs: []inputInfo{
11528				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11529				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11530			},
11531			outputs: []outputInfo{
11532				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11533			},
11534		},
11535	},
11536	{
11537		name:         "CMOVWLT",
11538		argLen:       3,
11539		resultInArg0: true,
11540		asm:          x86.ACMOVWLT,
11541		reg: regInfo{
11542			inputs: []inputInfo{
11543				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11544				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11545			},
11546			outputs: []outputInfo{
11547				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11548			},
11549		},
11550	},
11551	{
11552		name:         "CMOVWGT",
11553		argLen:       3,
11554		resultInArg0: true,
11555		asm:          x86.ACMOVWGT,
11556		reg: regInfo{
11557			inputs: []inputInfo{
11558				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11559				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11560			},
11561			outputs: []outputInfo{
11562				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11563			},
11564		},
11565	},
11566	{
11567		name:         "CMOVWLE",
11568		argLen:       3,
11569		resultInArg0: true,
11570		asm:          x86.ACMOVWLE,
11571		reg: regInfo{
11572			inputs: []inputInfo{
11573				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11574				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11575			},
11576			outputs: []outputInfo{
11577				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11578			},
11579		},
11580	},
11581	{
11582		name:         "CMOVWGE",
11583		argLen:       3,
11584		resultInArg0: true,
11585		asm:          x86.ACMOVWGE,
11586		reg: regInfo{
11587			inputs: []inputInfo{
11588				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11589				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11590			},
11591			outputs: []outputInfo{
11592				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11593			},
11594		},
11595	},
11596	{
11597		name:         "CMOVWLS",
11598		argLen:       3,
11599		resultInArg0: true,
11600		asm:          x86.ACMOVWLS,
11601		reg: regInfo{
11602			inputs: []inputInfo{
11603				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11604				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11605			},
11606			outputs: []outputInfo{
11607				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11608			},
11609		},
11610	},
11611	{
11612		name:         "CMOVWHI",
11613		argLen:       3,
11614		resultInArg0: true,
11615		asm:          x86.ACMOVWHI,
11616		reg: regInfo{
11617			inputs: []inputInfo{
11618				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11619				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11620			},
11621			outputs: []outputInfo{
11622				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11623			},
11624		},
11625	},
11626	{
11627		name:         "CMOVWCC",
11628		argLen:       3,
11629		resultInArg0: true,
11630		asm:          x86.ACMOVWCC,
11631		reg: regInfo{
11632			inputs: []inputInfo{
11633				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11634				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11635			},
11636			outputs: []outputInfo{
11637				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11638			},
11639		},
11640	},
11641	{
11642		name:         "CMOVWCS",
11643		argLen:       3,
11644		resultInArg0: true,
11645		asm:          x86.ACMOVWCS,
11646		reg: regInfo{
11647			inputs: []inputInfo{
11648				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11649				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11650			},
11651			outputs: []outputInfo{
11652				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11653			},
11654		},
11655	},
11656	{
11657		name:         "CMOVQEQF",
11658		argLen:       3,
11659		resultInArg0: true,
11660		needIntTemp:  true,
11661		asm:          x86.ACMOVQNE,
11662		reg: regInfo{
11663			inputs: []inputInfo{
11664				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11665				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11666			},
11667			outputs: []outputInfo{
11668				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11669			},
11670		},
11671	},
11672	{
11673		name:         "CMOVQNEF",
11674		argLen:       3,
11675		resultInArg0: true,
11676		asm:          x86.ACMOVQNE,
11677		reg: regInfo{
11678			inputs: []inputInfo{
11679				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11680				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11681			},
11682			outputs: []outputInfo{
11683				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11684			},
11685		},
11686	},
11687	{
11688		name:         "CMOVQGTF",
11689		argLen:       3,
11690		resultInArg0: true,
11691		asm:          x86.ACMOVQHI,
11692		reg: regInfo{
11693			inputs: []inputInfo{
11694				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11695				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11696			},
11697			outputs: []outputInfo{
11698				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11699			},
11700		},
11701	},
11702	{
11703		name:         "CMOVQGEF",
11704		argLen:       3,
11705		resultInArg0: true,
11706		asm:          x86.ACMOVQCC,
11707		reg: regInfo{
11708			inputs: []inputInfo{
11709				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11710				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11711			},
11712			outputs: []outputInfo{
11713				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11714			},
11715		},
11716	},
11717	{
11718		name:         "CMOVLEQF",
11719		argLen:       3,
11720		resultInArg0: true,
11721		needIntTemp:  true,
11722		asm:          x86.ACMOVLNE,
11723		reg: regInfo{
11724			inputs: []inputInfo{
11725				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11726				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11727			},
11728			outputs: []outputInfo{
11729				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11730			},
11731		},
11732	},
11733	{
11734		name:         "CMOVLNEF",
11735		argLen:       3,
11736		resultInArg0: true,
11737		asm:          x86.ACMOVLNE,
11738		reg: regInfo{
11739			inputs: []inputInfo{
11740				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11741				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11742			},
11743			outputs: []outputInfo{
11744				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11745			},
11746		},
11747	},
11748	{
11749		name:         "CMOVLGTF",
11750		argLen:       3,
11751		resultInArg0: true,
11752		asm:          x86.ACMOVLHI,
11753		reg: regInfo{
11754			inputs: []inputInfo{
11755				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11756				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11757			},
11758			outputs: []outputInfo{
11759				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11760			},
11761		},
11762	},
11763	{
11764		name:         "CMOVLGEF",
11765		argLen:       3,
11766		resultInArg0: true,
11767		asm:          x86.ACMOVLCC,
11768		reg: regInfo{
11769			inputs: []inputInfo{
11770				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11771				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11772			},
11773			outputs: []outputInfo{
11774				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11775			},
11776		},
11777	},
11778	{
11779		name:         "CMOVWEQF",
11780		argLen:       3,
11781		resultInArg0: true,
11782		needIntTemp:  true,
11783		asm:          x86.ACMOVWNE,
11784		reg: regInfo{
11785			inputs: []inputInfo{
11786				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11787				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11788			},
11789			outputs: []outputInfo{
11790				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11791			},
11792		},
11793	},
11794	{
11795		name:         "CMOVWNEF",
11796		argLen:       3,
11797		resultInArg0: true,
11798		asm:          x86.ACMOVWNE,
11799		reg: regInfo{
11800			inputs: []inputInfo{
11801				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11802				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11803			},
11804			outputs: []outputInfo{
11805				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11806			},
11807		},
11808	},
11809	{
11810		name:         "CMOVWGTF",
11811		argLen:       3,
11812		resultInArg0: true,
11813		asm:          x86.ACMOVWHI,
11814		reg: regInfo{
11815			inputs: []inputInfo{
11816				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11817				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11818			},
11819			outputs: []outputInfo{
11820				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11821			},
11822		},
11823	},
11824	{
11825		name:         "CMOVWGEF",
11826		argLen:       3,
11827		resultInArg0: true,
11828		asm:          x86.ACMOVWCC,
11829		reg: regInfo{
11830			inputs: []inputInfo{
11831				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11832				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11833			},
11834			outputs: []outputInfo{
11835				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11836			},
11837		},
11838	},
11839	{
11840		name:         "BSWAPQ",
11841		argLen:       1,
11842		resultInArg0: true,
11843		asm:          x86.ABSWAPQ,
11844		reg: regInfo{
11845			inputs: []inputInfo{
11846				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11847			},
11848			outputs: []outputInfo{
11849				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11850			},
11851		},
11852	},
11853	{
11854		name:         "BSWAPL",
11855		argLen:       1,
11856		resultInArg0: true,
11857		asm:          x86.ABSWAPL,
11858		reg: regInfo{
11859			inputs: []inputInfo{
11860				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11861			},
11862			outputs: []outputInfo{
11863				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11864			},
11865		},
11866	},
11867	{
11868		name:         "POPCNTQ",
11869		argLen:       1,
11870		clobberFlags: true,
11871		asm:          x86.APOPCNTQ,
11872		reg: regInfo{
11873			inputs: []inputInfo{
11874				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11875			},
11876			outputs: []outputInfo{
11877				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11878			},
11879		},
11880	},
11881	{
11882		name:         "POPCNTL",
11883		argLen:       1,
11884		clobberFlags: true,
11885		asm:          x86.APOPCNTL,
11886		reg: regInfo{
11887			inputs: []inputInfo{
11888				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11889			},
11890			outputs: []outputInfo{
11891				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11892			},
11893		},
11894	},
11895	{
11896		name:   "SQRTSD",
11897		argLen: 1,
11898		asm:    x86.ASQRTSD,
11899		reg: regInfo{
11900			inputs: []inputInfo{
11901				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11902			},
11903			outputs: []outputInfo{
11904				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11905			},
11906		},
11907	},
11908	{
11909		name:   "SQRTSS",
11910		argLen: 1,
11911		asm:    x86.ASQRTSS,
11912		reg: regInfo{
11913			inputs: []inputInfo{
11914				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11915			},
11916			outputs: []outputInfo{
11917				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11918			},
11919		},
11920	},
11921	{
11922		name:    "ROUNDSD",
11923		auxType: auxInt8,
11924		argLen:  1,
11925		asm:     x86.AROUNDSD,
11926		reg: regInfo{
11927			inputs: []inputInfo{
11928				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11929			},
11930			outputs: []outputInfo{
11931				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11932			},
11933		},
11934	},
11935	{
11936		name:         "VFMADD231SD",
11937		argLen:       3,
11938		resultInArg0: true,
11939		asm:          x86.AVFMADD231SD,
11940		reg: regInfo{
11941			inputs: []inputInfo{
11942				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11943				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11944				{2, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11945			},
11946			outputs: []outputInfo{
11947				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11948			},
11949		},
11950	},
11951	{
11952		name:         "MINSD",
11953		argLen:       2,
11954		resultInArg0: true,
11955		asm:          x86.AMINSD,
11956		reg: regInfo{
11957			inputs: []inputInfo{
11958				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11959				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11960			},
11961			outputs: []outputInfo{
11962				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11963			},
11964		},
11965	},
11966	{
11967		name:         "MINSS",
11968		argLen:       2,
11969		resultInArg0: true,
11970		asm:          x86.AMINSS,
11971		reg: regInfo{
11972			inputs: []inputInfo{
11973				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11974				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11975			},
11976			outputs: []outputInfo{
11977				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
11978			},
11979		},
11980	},
11981	{
11982		name:   "SBBQcarrymask",
11983		argLen: 1,
11984		asm:    x86.ASBBQ,
11985		reg: regInfo{
11986			outputs: []outputInfo{
11987				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11988			},
11989		},
11990	},
11991	{
11992		name:   "SBBLcarrymask",
11993		argLen: 1,
11994		asm:    x86.ASBBL,
11995		reg: regInfo{
11996			outputs: []outputInfo{
11997				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
11998			},
11999		},
12000	},
12001	{
12002		name:   "SETEQ",
12003		argLen: 1,
12004		asm:    x86.ASETEQ,
12005		reg: regInfo{
12006			outputs: []outputInfo{
12007				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12008			},
12009		},
12010	},
12011	{
12012		name:   "SETNE",
12013		argLen: 1,
12014		asm:    x86.ASETNE,
12015		reg: regInfo{
12016			outputs: []outputInfo{
12017				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12018			},
12019		},
12020	},
12021	{
12022		name:   "SETL",
12023		argLen: 1,
12024		asm:    x86.ASETLT,
12025		reg: regInfo{
12026			outputs: []outputInfo{
12027				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12028			},
12029		},
12030	},
12031	{
12032		name:   "SETLE",
12033		argLen: 1,
12034		asm:    x86.ASETLE,
12035		reg: regInfo{
12036			outputs: []outputInfo{
12037				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12038			},
12039		},
12040	},
12041	{
12042		name:   "SETG",
12043		argLen: 1,
12044		asm:    x86.ASETGT,
12045		reg: regInfo{
12046			outputs: []outputInfo{
12047				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12048			},
12049		},
12050	},
12051	{
12052		name:   "SETGE",
12053		argLen: 1,
12054		asm:    x86.ASETGE,
12055		reg: regInfo{
12056			outputs: []outputInfo{
12057				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12058			},
12059		},
12060	},
12061	{
12062		name:   "SETB",
12063		argLen: 1,
12064		asm:    x86.ASETCS,
12065		reg: regInfo{
12066			outputs: []outputInfo{
12067				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12068			},
12069		},
12070	},
12071	{
12072		name:   "SETBE",
12073		argLen: 1,
12074		asm:    x86.ASETLS,
12075		reg: regInfo{
12076			outputs: []outputInfo{
12077				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12078			},
12079		},
12080	},
12081	{
12082		name:   "SETA",
12083		argLen: 1,
12084		asm:    x86.ASETHI,
12085		reg: regInfo{
12086			outputs: []outputInfo{
12087				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12088			},
12089		},
12090	},
12091	{
12092		name:   "SETAE",
12093		argLen: 1,
12094		asm:    x86.ASETCC,
12095		reg: regInfo{
12096			outputs: []outputInfo{
12097				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12098			},
12099		},
12100	},
12101	{
12102		name:   "SETO",
12103		argLen: 1,
12104		asm:    x86.ASETOS,
12105		reg: regInfo{
12106			outputs: []outputInfo{
12107				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12108			},
12109		},
12110	},
12111	{
12112		name:           "SETEQstore",
12113		auxType:        auxSymOff,
12114		argLen:         3,
12115		faultOnNilArg0: true,
12116		symEffect:      SymWrite,
12117		asm:            x86.ASETEQ,
12118		reg: regInfo{
12119			inputs: []inputInfo{
12120				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12121			},
12122		},
12123	},
12124	{
12125		name:           "SETNEstore",
12126		auxType:        auxSymOff,
12127		argLen:         3,
12128		faultOnNilArg0: true,
12129		symEffect:      SymWrite,
12130		asm:            x86.ASETNE,
12131		reg: regInfo{
12132			inputs: []inputInfo{
12133				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12134			},
12135		},
12136	},
12137	{
12138		name:           "SETLstore",
12139		auxType:        auxSymOff,
12140		argLen:         3,
12141		faultOnNilArg0: true,
12142		symEffect:      SymWrite,
12143		asm:            x86.ASETLT,
12144		reg: regInfo{
12145			inputs: []inputInfo{
12146				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12147			},
12148		},
12149	},
12150	{
12151		name:           "SETLEstore",
12152		auxType:        auxSymOff,
12153		argLen:         3,
12154		faultOnNilArg0: true,
12155		symEffect:      SymWrite,
12156		asm:            x86.ASETLE,
12157		reg: regInfo{
12158			inputs: []inputInfo{
12159				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12160			},
12161		},
12162	},
12163	{
12164		name:           "SETGstore",
12165		auxType:        auxSymOff,
12166		argLen:         3,
12167		faultOnNilArg0: true,
12168		symEffect:      SymWrite,
12169		asm:            x86.ASETGT,
12170		reg: regInfo{
12171			inputs: []inputInfo{
12172				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12173			},
12174		},
12175	},
12176	{
12177		name:           "SETGEstore",
12178		auxType:        auxSymOff,
12179		argLen:         3,
12180		faultOnNilArg0: true,
12181		symEffect:      SymWrite,
12182		asm:            x86.ASETGE,
12183		reg: regInfo{
12184			inputs: []inputInfo{
12185				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12186			},
12187		},
12188	},
12189	{
12190		name:           "SETBstore",
12191		auxType:        auxSymOff,
12192		argLen:         3,
12193		faultOnNilArg0: true,
12194		symEffect:      SymWrite,
12195		asm:            x86.ASETCS,
12196		reg: regInfo{
12197			inputs: []inputInfo{
12198				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12199			},
12200		},
12201	},
12202	{
12203		name:           "SETBEstore",
12204		auxType:        auxSymOff,
12205		argLen:         3,
12206		faultOnNilArg0: true,
12207		symEffect:      SymWrite,
12208		asm:            x86.ASETLS,
12209		reg: regInfo{
12210			inputs: []inputInfo{
12211				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12212			},
12213		},
12214	},
12215	{
12216		name:           "SETAstore",
12217		auxType:        auxSymOff,
12218		argLen:         3,
12219		faultOnNilArg0: true,
12220		symEffect:      SymWrite,
12221		asm:            x86.ASETHI,
12222		reg: regInfo{
12223			inputs: []inputInfo{
12224				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12225			},
12226		},
12227	},
12228	{
12229		name:           "SETAEstore",
12230		auxType:        auxSymOff,
12231		argLen:         3,
12232		faultOnNilArg0: true,
12233		symEffect:      SymWrite,
12234		asm:            x86.ASETCC,
12235		reg: regInfo{
12236			inputs: []inputInfo{
12237				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12238			},
12239		},
12240	},
12241	{
12242		name:        "SETEQstoreidx1",
12243		auxType:     auxSymOff,
12244		argLen:      4,
12245		commutative: true,
12246		symEffect:   SymWrite,
12247		asm:         x86.ASETEQ,
12248		scale:       1,
12249		reg: regInfo{
12250			inputs: []inputInfo{
12251				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12252				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12253			},
12254		},
12255	},
12256	{
12257		name:        "SETNEstoreidx1",
12258		auxType:     auxSymOff,
12259		argLen:      4,
12260		commutative: true,
12261		symEffect:   SymWrite,
12262		asm:         x86.ASETNE,
12263		scale:       1,
12264		reg: regInfo{
12265			inputs: []inputInfo{
12266				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12267				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12268			},
12269		},
12270	},
12271	{
12272		name:        "SETLstoreidx1",
12273		auxType:     auxSymOff,
12274		argLen:      4,
12275		commutative: true,
12276		symEffect:   SymWrite,
12277		asm:         x86.ASETLT,
12278		scale:       1,
12279		reg: regInfo{
12280			inputs: []inputInfo{
12281				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12282				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12283			},
12284		},
12285	},
12286	{
12287		name:        "SETLEstoreidx1",
12288		auxType:     auxSymOff,
12289		argLen:      4,
12290		commutative: true,
12291		symEffect:   SymWrite,
12292		asm:         x86.ASETLE,
12293		scale:       1,
12294		reg: regInfo{
12295			inputs: []inputInfo{
12296				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12297				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12298			},
12299		},
12300	},
12301	{
12302		name:        "SETGstoreidx1",
12303		auxType:     auxSymOff,
12304		argLen:      4,
12305		commutative: true,
12306		symEffect:   SymWrite,
12307		asm:         x86.ASETGT,
12308		scale:       1,
12309		reg: regInfo{
12310			inputs: []inputInfo{
12311				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12312				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12313			},
12314		},
12315	},
12316	{
12317		name:        "SETGEstoreidx1",
12318		auxType:     auxSymOff,
12319		argLen:      4,
12320		commutative: true,
12321		symEffect:   SymWrite,
12322		asm:         x86.ASETGE,
12323		scale:       1,
12324		reg: regInfo{
12325			inputs: []inputInfo{
12326				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12327				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12328			},
12329		},
12330	},
12331	{
12332		name:        "SETBstoreidx1",
12333		auxType:     auxSymOff,
12334		argLen:      4,
12335		commutative: true,
12336		symEffect:   SymWrite,
12337		asm:         x86.ASETCS,
12338		scale:       1,
12339		reg: regInfo{
12340			inputs: []inputInfo{
12341				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12342				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12343			},
12344		},
12345	},
12346	{
12347		name:        "SETBEstoreidx1",
12348		auxType:     auxSymOff,
12349		argLen:      4,
12350		commutative: true,
12351		symEffect:   SymWrite,
12352		asm:         x86.ASETLS,
12353		scale:       1,
12354		reg: regInfo{
12355			inputs: []inputInfo{
12356				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12357				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12358			},
12359		},
12360	},
12361	{
12362		name:        "SETAstoreidx1",
12363		auxType:     auxSymOff,
12364		argLen:      4,
12365		commutative: true,
12366		symEffect:   SymWrite,
12367		asm:         x86.ASETHI,
12368		scale:       1,
12369		reg: regInfo{
12370			inputs: []inputInfo{
12371				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12372				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12373			},
12374		},
12375	},
12376	{
12377		name:        "SETAEstoreidx1",
12378		auxType:     auxSymOff,
12379		argLen:      4,
12380		commutative: true,
12381		symEffect:   SymWrite,
12382		asm:         x86.ASETCC,
12383		scale:       1,
12384		reg: regInfo{
12385			inputs: []inputInfo{
12386				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12387				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12388			},
12389		},
12390	},
12391	{
12392		name:         "SETEQF",
12393		argLen:       1,
12394		clobberFlags: true,
12395		needIntTemp:  true,
12396		asm:          x86.ASETEQ,
12397		reg: regInfo{
12398			outputs: []outputInfo{
12399				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12400			},
12401		},
12402	},
12403	{
12404		name:         "SETNEF",
12405		argLen:       1,
12406		clobberFlags: true,
12407		needIntTemp:  true,
12408		asm:          x86.ASETNE,
12409		reg: regInfo{
12410			outputs: []outputInfo{
12411				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12412			},
12413		},
12414	},
12415	{
12416		name:   "SETORD",
12417		argLen: 1,
12418		asm:    x86.ASETPC,
12419		reg: regInfo{
12420			outputs: []outputInfo{
12421				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12422			},
12423		},
12424	},
12425	{
12426		name:   "SETNAN",
12427		argLen: 1,
12428		asm:    x86.ASETPS,
12429		reg: regInfo{
12430			outputs: []outputInfo{
12431				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12432			},
12433		},
12434	},
12435	{
12436		name:   "SETGF",
12437		argLen: 1,
12438		asm:    x86.ASETHI,
12439		reg: regInfo{
12440			outputs: []outputInfo{
12441				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12442			},
12443		},
12444	},
12445	{
12446		name:   "SETGEF",
12447		argLen: 1,
12448		asm:    x86.ASETCC,
12449		reg: regInfo{
12450			outputs: []outputInfo{
12451				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12452			},
12453		},
12454	},
12455	{
12456		name:   "MOVBQSX",
12457		argLen: 1,
12458		asm:    x86.AMOVBQSX,
12459		reg: regInfo{
12460			inputs: []inputInfo{
12461				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12462			},
12463			outputs: []outputInfo{
12464				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12465			},
12466		},
12467	},
12468	{
12469		name:   "MOVBQZX",
12470		argLen: 1,
12471		asm:    x86.AMOVBLZX,
12472		reg: regInfo{
12473			inputs: []inputInfo{
12474				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12475			},
12476			outputs: []outputInfo{
12477				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12478			},
12479		},
12480	},
12481	{
12482		name:   "MOVWQSX",
12483		argLen: 1,
12484		asm:    x86.AMOVWQSX,
12485		reg: regInfo{
12486			inputs: []inputInfo{
12487				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12488			},
12489			outputs: []outputInfo{
12490				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12491			},
12492		},
12493	},
12494	{
12495		name:   "MOVWQZX",
12496		argLen: 1,
12497		asm:    x86.AMOVWLZX,
12498		reg: regInfo{
12499			inputs: []inputInfo{
12500				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12501			},
12502			outputs: []outputInfo{
12503				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12504			},
12505		},
12506	},
12507	{
12508		name:   "MOVLQSX",
12509		argLen: 1,
12510		asm:    x86.AMOVLQSX,
12511		reg: regInfo{
12512			inputs: []inputInfo{
12513				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12514			},
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:   "MOVLQZX",
12522		argLen: 1,
12523		asm:    x86.AMOVL,
12524		reg: regInfo{
12525			inputs: []inputInfo{
12526				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12527			},
12528			outputs: []outputInfo{
12529				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12530			},
12531		},
12532	},
12533	{
12534		name:              "MOVLconst",
12535		auxType:           auxInt32,
12536		argLen:            0,
12537		rematerializeable: true,
12538		asm:               x86.AMOVL,
12539		reg: regInfo{
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:              "MOVQconst",
12547		auxType:           auxInt64,
12548		argLen:            0,
12549		rematerializeable: true,
12550		asm:               x86.AMOVQ,
12551		reg: regInfo{
12552			outputs: []outputInfo{
12553				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12554			},
12555		},
12556	},
12557	{
12558		name:   "CVTTSD2SL",
12559		argLen: 1,
12560		asm:    x86.ACVTTSD2SL,
12561		reg: regInfo{
12562			inputs: []inputInfo{
12563				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12564			},
12565			outputs: []outputInfo{
12566				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12567			},
12568		},
12569	},
12570	{
12571		name:   "CVTTSD2SQ",
12572		argLen: 1,
12573		asm:    x86.ACVTTSD2SQ,
12574		reg: regInfo{
12575			inputs: []inputInfo{
12576				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12577			},
12578			outputs: []outputInfo{
12579				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12580			},
12581		},
12582	},
12583	{
12584		name:   "CVTTSS2SL",
12585		argLen: 1,
12586		asm:    x86.ACVTTSS2SL,
12587		reg: regInfo{
12588			inputs: []inputInfo{
12589				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12590			},
12591			outputs: []outputInfo{
12592				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12593			},
12594		},
12595	},
12596	{
12597		name:   "CVTTSS2SQ",
12598		argLen: 1,
12599		asm:    x86.ACVTTSS2SQ,
12600		reg: regInfo{
12601			inputs: []inputInfo{
12602				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12603			},
12604			outputs: []outputInfo{
12605				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12606			},
12607		},
12608	},
12609	{
12610		name:   "CVTSL2SS",
12611		argLen: 1,
12612		asm:    x86.ACVTSL2SS,
12613		reg: regInfo{
12614			inputs: []inputInfo{
12615				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12616			},
12617			outputs: []outputInfo{
12618				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12619			},
12620		},
12621	},
12622	{
12623		name:   "CVTSL2SD",
12624		argLen: 1,
12625		asm:    x86.ACVTSL2SD,
12626		reg: regInfo{
12627			inputs: []inputInfo{
12628				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12629			},
12630			outputs: []outputInfo{
12631				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12632			},
12633		},
12634	},
12635	{
12636		name:   "CVTSQ2SS",
12637		argLen: 1,
12638		asm:    x86.ACVTSQ2SS,
12639		reg: regInfo{
12640			inputs: []inputInfo{
12641				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12642			},
12643			outputs: []outputInfo{
12644				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12645			},
12646		},
12647	},
12648	{
12649		name:   "CVTSQ2SD",
12650		argLen: 1,
12651		asm:    x86.ACVTSQ2SD,
12652		reg: regInfo{
12653			inputs: []inputInfo{
12654				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12655			},
12656			outputs: []outputInfo{
12657				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12658			},
12659		},
12660	},
12661	{
12662		name:   "CVTSD2SS",
12663		argLen: 1,
12664		asm:    x86.ACVTSD2SS,
12665		reg: regInfo{
12666			inputs: []inputInfo{
12667				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
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:   "CVTSS2SD",
12676		argLen: 1,
12677		asm:    x86.ACVTSS2SD,
12678		reg: regInfo{
12679			inputs: []inputInfo{
12680				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12681			},
12682			outputs: []outputInfo{
12683				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12684			},
12685		},
12686	},
12687	{
12688		name:   "MOVQi2f",
12689		argLen: 1,
12690		reg: regInfo{
12691			inputs: []inputInfo{
12692				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12693			},
12694			outputs: []outputInfo{
12695				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12696			},
12697		},
12698	},
12699	{
12700		name:   "MOVQf2i",
12701		argLen: 1,
12702		reg: regInfo{
12703			inputs: []inputInfo{
12704				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12705			},
12706			outputs: []outputInfo{
12707				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12708			},
12709		},
12710	},
12711	{
12712		name:   "MOVLi2f",
12713		argLen: 1,
12714		reg: regInfo{
12715			inputs: []inputInfo{
12716				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12717			},
12718			outputs: []outputInfo{
12719				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12720			},
12721		},
12722	},
12723	{
12724		name:   "MOVLf2i",
12725		argLen: 1,
12726		reg: regInfo{
12727			inputs: []inputInfo{
12728				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12729			},
12730			outputs: []outputInfo{
12731				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12732			},
12733		},
12734	},
12735	{
12736		name:         "PXOR",
12737		argLen:       2,
12738		commutative:  true,
12739		resultInArg0: true,
12740		asm:          x86.APXOR,
12741		reg: regInfo{
12742			inputs: []inputInfo{
12743				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12744				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12745			},
12746			outputs: []outputInfo{
12747				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12748			},
12749		},
12750	},
12751	{
12752		name:         "POR",
12753		argLen:       2,
12754		commutative:  true,
12755		resultInArg0: true,
12756		asm:          x86.APOR,
12757		reg: regInfo{
12758			inputs: []inputInfo{
12759				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12760				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12761			},
12762			outputs: []outputInfo{
12763				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
12764			},
12765		},
12766	},
12767	{
12768		name:              "LEAQ",
12769		auxType:           auxSymOff,
12770		argLen:            1,
12771		rematerializeable: true,
12772		symEffect:         SymAddr,
12773		asm:               x86.ALEAQ,
12774		reg: regInfo{
12775			inputs: []inputInfo{
12776				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12777			},
12778			outputs: []outputInfo{
12779				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12780			},
12781		},
12782	},
12783	{
12784		name:              "LEAL",
12785		auxType:           auxSymOff,
12786		argLen:            1,
12787		rematerializeable: true,
12788		symEffect:         SymAddr,
12789		asm:               x86.ALEAL,
12790		reg: regInfo{
12791			inputs: []inputInfo{
12792				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12793			},
12794			outputs: []outputInfo{
12795				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12796			},
12797		},
12798	},
12799	{
12800		name:              "LEAW",
12801		auxType:           auxSymOff,
12802		argLen:            1,
12803		rematerializeable: true,
12804		symEffect:         SymAddr,
12805		asm:               x86.ALEAW,
12806		reg: regInfo{
12807			inputs: []inputInfo{
12808				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12809			},
12810			outputs: []outputInfo{
12811				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12812			},
12813		},
12814	},
12815	{
12816		name:        "LEAQ1",
12817		auxType:     auxSymOff,
12818		argLen:      2,
12819		commutative: true,
12820		symEffect:   SymAddr,
12821		asm:         x86.ALEAQ,
12822		scale:       1,
12823		reg: regInfo{
12824			inputs: []inputInfo{
12825				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12826				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12827			},
12828			outputs: []outputInfo{
12829				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12830			},
12831		},
12832	},
12833	{
12834		name:        "LEAL1",
12835		auxType:     auxSymOff,
12836		argLen:      2,
12837		commutative: true,
12838		symEffect:   SymAddr,
12839		asm:         x86.ALEAL,
12840		scale:       1,
12841		reg: regInfo{
12842			inputs: []inputInfo{
12843				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12844				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12845			},
12846			outputs: []outputInfo{
12847				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12848			},
12849		},
12850	},
12851	{
12852		name:        "LEAW1",
12853		auxType:     auxSymOff,
12854		argLen:      2,
12855		commutative: true,
12856		symEffect:   SymAddr,
12857		asm:         x86.ALEAW,
12858		scale:       1,
12859		reg: regInfo{
12860			inputs: []inputInfo{
12861				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12862				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12863			},
12864			outputs: []outputInfo{
12865				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12866			},
12867		},
12868	},
12869	{
12870		name:      "LEAQ2",
12871		auxType:   auxSymOff,
12872		argLen:    2,
12873		symEffect: SymAddr,
12874		asm:       x86.ALEAQ,
12875		scale:     2,
12876		reg: regInfo{
12877			inputs: []inputInfo{
12878				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12879				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12880			},
12881			outputs: []outputInfo{
12882				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12883			},
12884		},
12885	},
12886	{
12887		name:      "LEAL2",
12888		auxType:   auxSymOff,
12889		argLen:    2,
12890		symEffect: SymAddr,
12891		asm:       x86.ALEAL,
12892		scale:     2,
12893		reg: regInfo{
12894			inputs: []inputInfo{
12895				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12896				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12897			},
12898			outputs: []outputInfo{
12899				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12900			},
12901		},
12902	},
12903	{
12904		name:      "LEAW2",
12905		auxType:   auxSymOff,
12906		argLen:    2,
12907		symEffect: SymAddr,
12908		asm:       x86.ALEAW,
12909		scale:     2,
12910		reg: regInfo{
12911			inputs: []inputInfo{
12912				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12913				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12914			},
12915			outputs: []outputInfo{
12916				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12917			},
12918		},
12919	},
12920	{
12921		name:      "LEAQ4",
12922		auxType:   auxSymOff,
12923		argLen:    2,
12924		symEffect: SymAddr,
12925		asm:       x86.ALEAQ,
12926		scale:     4,
12927		reg: regInfo{
12928			inputs: []inputInfo{
12929				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12930				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12931			},
12932			outputs: []outputInfo{
12933				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12934			},
12935		},
12936	},
12937	{
12938		name:      "LEAL4",
12939		auxType:   auxSymOff,
12940		argLen:    2,
12941		symEffect: SymAddr,
12942		asm:       x86.ALEAL,
12943		scale:     4,
12944		reg: regInfo{
12945			inputs: []inputInfo{
12946				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12947				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12948			},
12949			outputs: []outputInfo{
12950				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12951			},
12952		},
12953	},
12954	{
12955		name:      "LEAW4",
12956		auxType:   auxSymOff,
12957		argLen:    2,
12958		symEffect: SymAddr,
12959		asm:       x86.ALEAW,
12960		scale:     4,
12961		reg: regInfo{
12962			inputs: []inputInfo{
12963				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12964				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12965			},
12966			outputs: []outputInfo{
12967				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12968			},
12969		},
12970	},
12971	{
12972		name:      "LEAQ8",
12973		auxType:   auxSymOff,
12974		argLen:    2,
12975		symEffect: SymAddr,
12976		asm:       x86.ALEAQ,
12977		scale:     8,
12978		reg: regInfo{
12979			inputs: []inputInfo{
12980				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12981				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12982			},
12983			outputs: []outputInfo{
12984				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
12985			},
12986		},
12987	},
12988	{
12989		name:      "LEAL8",
12990		auxType:   auxSymOff,
12991		argLen:    2,
12992		symEffect: SymAddr,
12993		asm:       x86.ALEAL,
12994		scale:     8,
12995		reg: regInfo{
12996			inputs: []inputInfo{
12997				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
12998				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
12999			},
13000			outputs: []outputInfo{
13001				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13002			},
13003		},
13004	},
13005	{
13006		name:      "LEAW8",
13007		auxType:   auxSymOff,
13008		argLen:    2,
13009		symEffect: SymAddr,
13010		asm:       x86.ALEAW,
13011		scale:     8,
13012		reg: regInfo{
13013			inputs: []inputInfo{
13014				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13015				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13016			},
13017			outputs: []outputInfo{
13018				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13019			},
13020		},
13021	},
13022	{
13023		name:           "MOVBload",
13024		auxType:        auxSymOff,
13025		argLen:         2,
13026		faultOnNilArg0: true,
13027		symEffect:      SymRead,
13028		asm:            x86.AMOVBLZX,
13029		reg: regInfo{
13030			inputs: []inputInfo{
13031				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13032			},
13033			outputs: []outputInfo{
13034				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13035			},
13036		},
13037	},
13038	{
13039		name:           "MOVBQSXload",
13040		auxType:        auxSymOff,
13041		argLen:         2,
13042		faultOnNilArg0: true,
13043		symEffect:      SymRead,
13044		asm:            x86.AMOVBQSX,
13045		reg: regInfo{
13046			inputs: []inputInfo{
13047				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13048			},
13049			outputs: []outputInfo{
13050				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13051			},
13052		},
13053	},
13054	{
13055		name:           "MOVWload",
13056		auxType:        auxSymOff,
13057		argLen:         2,
13058		faultOnNilArg0: true,
13059		symEffect:      SymRead,
13060		asm:            x86.AMOVWLZX,
13061		reg: regInfo{
13062			inputs: []inputInfo{
13063				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13064			},
13065			outputs: []outputInfo{
13066				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13067			},
13068		},
13069	},
13070	{
13071		name:           "MOVWQSXload",
13072		auxType:        auxSymOff,
13073		argLen:         2,
13074		faultOnNilArg0: true,
13075		symEffect:      SymRead,
13076		asm:            x86.AMOVWQSX,
13077		reg: regInfo{
13078			inputs: []inputInfo{
13079				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13080			},
13081			outputs: []outputInfo{
13082				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13083			},
13084		},
13085	},
13086	{
13087		name:           "MOVLload",
13088		auxType:        auxSymOff,
13089		argLen:         2,
13090		faultOnNilArg0: true,
13091		symEffect:      SymRead,
13092		asm:            x86.AMOVL,
13093		reg: regInfo{
13094			inputs: []inputInfo{
13095				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13096			},
13097			outputs: []outputInfo{
13098				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13099			},
13100		},
13101	},
13102	{
13103		name:           "MOVLQSXload",
13104		auxType:        auxSymOff,
13105		argLen:         2,
13106		faultOnNilArg0: true,
13107		symEffect:      SymRead,
13108		asm:            x86.AMOVLQSX,
13109		reg: regInfo{
13110			inputs: []inputInfo{
13111				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13112			},
13113			outputs: []outputInfo{
13114				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13115			},
13116		},
13117	},
13118	{
13119		name:           "MOVQload",
13120		auxType:        auxSymOff,
13121		argLen:         2,
13122		faultOnNilArg0: true,
13123		symEffect:      SymRead,
13124		asm:            x86.AMOVQ,
13125		reg: regInfo{
13126			inputs: []inputInfo{
13127				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13128			},
13129			outputs: []outputInfo{
13130				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13131			},
13132		},
13133	},
13134	{
13135		name:           "MOVBstore",
13136		auxType:        auxSymOff,
13137		argLen:         3,
13138		faultOnNilArg0: true,
13139		symEffect:      SymWrite,
13140		asm:            x86.AMOVB,
13141		reg: regInfo{
13142			inputs: []inputInfo{
13143				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13144				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13145			},
13146		},
13147	},
13148	{
13149		name:           "MOVWstore",
13150		auxType:        auxSymOff,
13151		argLen:         3,
13152		faultOnNilArg0: true,
13153		symEffect:      SymWrite,
13154		asm:            x86.AMOVW,
13155		reg: regInfo{
13156			inputs: []inputInfo{
13157				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13158				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13159			},
13160		},
13161	},
13162	{
13163		name:           "MOVLstore",
13164		auxType:        auxSymOff,
13165		argLen:         3,
13166		faultOnNilArg0: true,
13167		symEffect:      SymWrite,
13168		asm:            x86.AMOVL,
13169		reg: regInfo{
13170			inputs: []inputInfo{
13171				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13172				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13173			},
13174		},
13175	},
13176	{
13177		name:           "MOVQstore",
13178		auxType:        auxSymOff,
13179		argLen:         3,
13180		faultOnNilArg0: true,
13181		symEffect:      SymWrite,
13182		asm:            x86.AMOVQ,
13183		reg: regInfo{
13184			inputs: []inputInfo{
13185				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13186				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13187			},
13188		},
13189	},
13190	{
13191		name:           "MOVOload",
13192		auxType:        auxSymOff,
13193		argLen:         2,
13194		faultOnNilArg0: true,
13195		symEffect:      SymRead,
13196		asm:            x86.AMOVUPS,
13197		reg: regInfo{
13198			inputs: []inputInfo{
13199				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
13200			},
13201			outputs: []outputInfo{
13202				{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
13203			},
13204		},
13205	},
13206	{
13207		name:           "MOVOstore",
13208		auxType:        auxSymOff,
13209		argLen:         3,
13210		faultOnNilArg0: true,
13211		symEffect:      SymWrite,
13212		asm:            x86.AMOVUPS,
13213		reg: regInfo{
13214			inputs: []inputInfo{
13215				{1, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
13216				{0, 4295016447}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15 SB
13217			},
13218		},
13219	},
13220	{
13221		name:        "MOVBloadidx1",
13222		auxType:     auxSymOff,
13223		argLen:      3,
13224		commutative: true,
13225		symEffect:   SymRead,
13226		asm:         x86.AMOVBLZX,
13227		scale:       1,
13228		reg: regInfo{
13229			inputs: []inputInfo{
13230				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13231				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13232			},
13233			outputs: []outputInfo{
13234				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13235			},
13236		},
13237	},
13238	{
13239		name:        "MOVWloadidx1",
13240		auxType:     auxSymOff,
13241		argLen:      3,
13242		commutative: true,
13243		symEffect:   SymRead,
13244		asm:         x86.AMOVWLZX,
13245		scale:       1,
13246		reg: regInfo{
13247			inputs: []inputInfo{
13248				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13249				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13250			},
13251			outputs: []outputInfo{
13252				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13253			},
13254		},
13255	},
13256	{
13257		name:      "MOVWloadidx2",
13258		auxType:   auxSymOff,
13259		argLen:    3,
13260		symEffect: SymRead,
13261		asm:       x86.AMOVWLZX,
13262		scale:     2,
13263		reg: regInfo{
13264			inputs: []inputInfo{
13265				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13266				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13267			},
13268			outputs: []outputInfo{
13269				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13270			},
13271		},
13272	},
13273	{
13274		name:        "MOVLloadidx1",
13275		auxType:     auxSymOff,
13276		argLen:      3,
13277		commutative: true,
13278		symEffect:   SymRead,
13279		asm:         x86.AMOVL,
13280		scale:       1,
13281		reg: regInfo{
13282			inputs: []inputInfo{
13283				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13284				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13285			},
13286			outputs: []outputInfo{
13287				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13288			},
13289		},
13290	},
13291	{
13292		name:      "MOVLloadidx4",
13293		auxType:   auxSymOff,
13294		argLen:    3,
13295		symEffect: SymRead,
13296		asm:       x86.AMOVL,
13297		scale:     4,
13298		reg: regInfo{
13299			inputs: []inputInfo{
13300				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13301				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13302			},
13303			outputs: []outputInfo{
13304				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13305			},
13306		},
13307	},
13308	{
13309		name:      "MOVLloadidx8",
13310		auxType:   auxSymOff,
13311		argLen:    3,
13312		symEffect: SymRead,
13313		asm:       x86.AMOVL,
13314		scale:     8,
13315		reg: regInfo{
13316			inputs: []inputInfo{
13317				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13318				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13319			},
13320			outputs: []outputInfo{
13321				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13322			},
13323		},
13324	},
13325	{
13326		name:        "MOVQloadidx1",
13327		auxType:     auxSymOff,
13328		argLen:      3,
13329		commutative: true,
13330		symEffect:   SymRead,
13331		asm:         x86.AMOVQ,
13332		scale:       1,
13333		reg: regInfo{
13334			inputs: []inputInfo{
13335				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13336				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13337			},
13338			outputs: []outputInfo{
13339				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13340			},
13341		},
13342	},
13343	{
13344		name:      "MOVQloadidx8",
13345		auxType:   auxSymOff,
13346		argLen:    3,
13347		symEffect: SymRead,
13348		asm:       x86.AMOVQ,
13349		scale:     8,
13350		reg: regInfo{
13351			inputs: []inputInfo{
13352				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13353				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13354			},
13355			outputs: []outputInfo{
13356				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13357			},
13358		},
13359	},
13360	{
13361		name:        "MOVBstoreidx1",
13362		auxType:     auxSymOff,
13363		argLen:      4,
13364		commutative: true,
13365		symEffect:   SymWrite,
13366		asm:         x86.AMOVB,
13367		scale:       1,
13368		reg: regInfo{
13369			inputs: []inputInfo{
13370				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13371				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13372				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13373			},
13374		},
13375	},
13376	{
13377		name:        "MOVWstoreidx1",
13378		auxType:     auxSymOff,
13379		argLen:      4,
13380		commutative: true,
13381		symEffect:   SymWrite,
13382		asm:         x86.AMOVW,
13383		scale:       1,
13384		reg: regInfo{
13385			inputs: []inputInfo{
13386				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13387				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13388				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13389			},
13390		},
13391	},
13392	{
13393		name:      "MOVWstoreidx2",
13394		auxType:   auxSymOff,
13395		argLen:    4,
13396		symEffect: SymWrite,
13397		asm:       x86.AMOVW,
13398		scale:     2,
13399		reg: regInfo{
13400			inputs: []inputInfo{
13401				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13402				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13403				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13404			},
13405		},
13406	},
13407	{
13408		name:        "MOVLstoreidx1",
13409		auxType:     auxSymOff,
13410		argLen:      4,
13411		commutative: true,
13412		symEffect:   SymWrite,
13413		asm:         x86.AMOVL,
13414		scale:       1,
13415		reg: regInfo{
13416			inputs: []inputInfo{
13417				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13418				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13419				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13420			},
13421		},
13422	},
13423	{
13424		name:      "MOVLstoreidx4",
13425		auxType:   auxSymOff,
13426		argLen:    4,
13427		symEffect: SymWrite,
13428		asm:       x86.AMOVL,
13429		scale:     4,
13430		reg: regInfo{
13431			inputs: []inputInfo{
13432				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13433				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13434				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13435			},
13436		},
13437	},
13438	{
13439		name:      "MOVLstoreidx8",
13440		auxType:   auxSymOff,
13441		argLen:    4,
13442		symEffect: SymWrite,
13443		asm:       x86.AMOVL,
13444		scale:     8,
13445		reg: regInfo{
13446			inputs: []inputInfo{
13447				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13448				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13449				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13450			},
13451		},
13452	},
13453	{
13454		name:        "MOVQstoreidx1",
13455		auxType:     auxSymOff,
13456		argLen:      4,
13457		commutative: true,
13458		symEffect:   SymWrite,
13459		asm:         x86.AMOVQ,
13460		scale:       1,
13461		reg: regInfo{
13462			inputs: []inputInfo{
13463				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13464				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13465				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13466			},
13467		},
13468	},
13469	{
13470		name:      "MOVQstoreidx8",
13471		auxType:   auxSymOff,
13472		argLen:    4,
13473		symEffect: SymWrite,
13474		asm:       x86.AMOVQ,
13475		scale:     8,
13476		reg: regInfo{
13477			inputs: []inputInfo{
13478				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13479				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13480				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13481			},
13482		},
13483	},
13484	{
13485		name:           "MOVBstoreconst",
13486		auxType:        auxSymValAndOff,
13487		argLen:         2,
13488		faultOnNilArg0: true,
13489		symEffect:      SymWrite,
13490		asm:            x86.AMOVB,
13491		reg: regInfo{
13492			inputs: []inputInfo{
13493				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13494			},
13495		},
13496	},
13497	{
13498		name:           "MOVWstoreconst",
13499		auxType:        auxSymValAndOff,
13500		argLen:         2,
13501		faultOnNilArg0: true,
13502		symEffect:      SymWrite,
13503		asm:            x86.AMOVW,
13504		reg: regInfo{
13505			inputs: []inputInfo{
13506				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13507			},
13508		},
13509	},
13510	{
13511		name:           "MOVLstoreconst",
13512		auxType:        auxSymValAndOff,
13513		argLen:         2,
13514		faultOnNilArg0: true,
13515		symEffect:      SymWrite,
13516		asm:            x86.AMOVL,
13517		reg: regInfo{
13518			inputs: []inputInfo{
13519				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13520			},
13521		},
13522	},
13523	{
13524		name:           "MOVQstoreconst",
13525		auxType:        auxSymValAndOff,
13526		argLen:         2,
13527		faultOnNilArg0: true,
13528		symEffect:      SymWrite,
13529		asm:            x86.AMOVQ,
13530		reg: regInfo{
13531			inputs: []inputInfo{
13532				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13533			},
13534		},
13535	},
13536	{
13537		name:           "MOVOstoreconst",
13538		auxType:        auxSymValAndOff,
13539		argLen:         2,
13540		faultOnNilArg0: true,
13541		symEffect:      SymWrite,
13542		asm:            x86.AMOVUPS,
13543		reg: regInfo{
13544			inputs: []inputInfo{
13545				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13546			},
13547		},
13548	},
13549	{
13550		name:        "MOVBstoreconstidx1",
13551		auxType:     auxSymValAndOff,
13552		argLen:      3,
13553		commutative: true,
13554		symEffect:   SymWrite,
13555		asm:         x86.AMOVB,
13556		scale:       1,
13557		reg: regInfo{
13558			inputs: []inputInfo{
13559				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13560				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13561			},
13562		},
13563	},
13564	{
13565		name:        "MOVWstoreconstidx1",
13566		auxType:     auxSymValAndOff,
13567		argLen:      3,
13568		commutative: true,
13569		symEffect:   SymWrite,
13570		asm:         x86.AMOVW,
13571		scale:       1,
13572		reg: regInfo{
13573			inputs: []inputInfo{
13574				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13575				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13576			},
13577		},
13578	},
13579	{
13580		name:      "MOVWstoreconstidx2",
13581		auxType:   auxSymValAndOff,
13582		argLen:    3,
13583		symEffect: SymWrite,
13584		asm:       x86.AMOVW,
13585		scale:     2,
13586		reg: regInfo{
13587			inputs: []inputInfo{
13588				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13589				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13590			},
13591		},
13592	},
13593	{
13594		name:        "MOVLstoreconstidx1",
13595		auxType:     auxSymValAndOff,
13596		argLen:      3,
13597		commutative: true,
13598		symEffect:   SymWrite,
13599		asm:         x86.AMOVL,
13600		scale:       1,
13601		reg: regInfo{
13602			inputs: []inputInfo{
13603				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13604				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13605			},
13606		},
13607	},
13608	{
13609		name:      "MOVLstoreconstidx4",
13610		auxType:   auxSymValAndOff,
13611		argLen:    3,
13612		symEffect: SymWrite,
13613		asm:       x86.AMOVL,
13614		scale:     4,
13615		reg: regInfo{
13616			inputs: []inputInfo{
13617				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13618				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13619			},
13620		},
13621	},
13622	{
13623		name:        "MOVQstoreconstidx1",
13624		auxType:     auxSymValAndOff,
13625		argLen:      3,
13626		commutative: true,
13627		symEffect:   SymWrite,
13628		asm:         x86.AMOVQ,
13629		scale:       1,
13630		reg: regInfo{
13631			inputs: []inputInfo{
13632				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13633				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13634			},
13635		},
13636	},
13637	{
13638		name:      "MOVQstoreconstidx8",
13639		auxType:   auxSymValAndOff,
13640		argLen:    3,
13641		symEffect: SymWrite,
13642		asm:       x86.AMOVQ,
13643		scale:     8,
13644		reg: regInfo{
13645			inputs: []inputInfo{
13646				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13647				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13648			},
13649		},
13650	},
13651	{
13652		name:           "DUFFZERO",
13653		auxType:        auxInt64,
13654		argLen:         2,
13655		faultOnNilArg0: true,
13656		unsafePoint:    true,
13657		reg: regInfo{
13658			inputs: []inputInfo{
13659				{0, 128}, // DI
13660			},
13661			clobbers: 128, // DI
13662		},
13663	},
13664	{
13665		name:           "REPSTOSQ",
13666		argLen:         4,
13667		faultOnNilArg0: true,
13668		reg: regInfo{
13669			inputs: []inputInfo{
13670				{0, 128}, // DI
13671				{1, 2},   // CX
13672				{2, 1},   // AX
13673			},
13674			clobbers: 130, // CX DI
13675		},
13676	},
13677	{
13678		name:         "CALLstatic",
13679		auxType:      auxCallOff,
13680		argLen:       -1,
13681		clobberFlags: true,
13682		call:         true,
13683		reg: regInfo{
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:         "CALLtail",
13689		auxType:      auxCallOff,
13690		argLen:       -1,
13691		clobberFlags: true,
13692		call:         true,
13693		tailCall:     true,
13694		reg: regInfo{
13695			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
13696		},
13697	},
13698	{
13699		name:         "CALLclosure",
13700		auxType:      auxCallOff,
13701		argLen:       -1,
13702		clobberFlags: true,
13703		call:         true,
13704		reg: regInfo{
13705			inputs: []inputInfo{
13706				{1, 4},     // DX
13707				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13708			},
13709			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
13710		},
13711	},
13712	{
13713		name:         "CALLinter",
13714		auxType:      auxCallOff,
13715		argLen:       -1,
13716		clobberFlags: true,
13717		call:         true,
13718		reg: regInfo{
13719			inputs: []inputInfo{
13720				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13721			},
13722			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
13723		},
13724	},
13725	{
13726		name:           "DUFFCOPY",
13727		auxType:        auxInt64,
13728		argLen:         3,
13729		clobberFlags:   true,
13730		faultOnNilArg0: true,
13731		faultOnNilArg1: true,
13732		unsafePoint:    true,
13733		reg: regInfo{
13734			inputs: []inputInfo{
13735				{0, 128}, // DI
13736				{1, 64},  // SI
13737			},
13738			clobbers: 65728, // SI DI X0
13739		},
13740	},
13741	{
13742		name:           "REPMOVSQ",
13743		argLen:         4,
13744		faultOnNilArg0: true,
13745		faultOnNilArg1: true,
13746		reg: regInfo{
13747			inputs: []inputInfo{
13748				{0, 128}, // DI
13749				{1, 64},  // SI
13750				{2, 2},   // CX
13751			},
13752			clobbers: 194, // CX SI DI
13753		},
13754	},
13755	{
13756		name:   "InvertFlags",
13757		argLen: 1,
13758		reg:    regInfo{},
13759	},
13760	{
13761		name:   "LoweredGetG",
13762		argLen: 1,
13763		reg: regInfo{
13764			outputs: []outputInfo{
13765				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13766			},
13767		},
13768	},
13769	{
13770		name:      "LoweredGetClosurePtr",
13771		argLen:    0,
13772		zeroWidth: true,
13773		reg: regInfo{
13774			outputs: []outputInfo{
13775				{0, 4}, // DX
13776			},
13777		},
13778	},
13779	{
13780		name:              "LoweredGetCallerPC",
13781		argLen:            0,
13782		rematerializeable: true,
13783		reg: regInfo{
13784			outputs: []outputInfo{
13785				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13786			},
13787		},
13788	},
13789	{
13790		name:              "LoweredGetCallerSP",
13791		argLen:            1,
13792		rematerializeable: true,
13793		reg: regInfo{
13794			outputs: []outputInfo{
13795				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13796			},
13797		},
13798	},
13799	{
13800		name:           "LoweredNilCheck",
13801		argLen:         2,
13802		clobberFlags:   true,
13803		nilCheck:       true,
13804		faultOnNilArg0: true,
13805		reg: regInfo{
13806			inputs: []inputInfo{
13807				{0, 49151}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
13808			},
13809		},
13810	},
13811	{
13812		name:         "LoweredWB",
13813		auxType:      auxInt64,
13814		argLen:       1,
13815		clobberFlags: true,
13816		reg: regInfo{
13817			clobbers: 2147418112, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
13818			outputs: []outputInfo{
13819				{0, 2048}, // R11
13820			},
13821		},
13822	},
13823	{
13824		name:              "LoweredHasCPUFeature",
13825		auxType:           auxSym,
13826		argLen:            0,
13827		rematerializeable: true,
13828		symEffect:         SymNone,
13829		reg: regInfo{
13830			outputs: []outputInfo{
13831				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13832			},
13833		},
13834	},
13835	{
13836		name:    "LoweredPanicBoundsA",
13837		auxType: auxInt64,
13838		argLen:  3,
13839		call:    true,
13840		reg: regInfo{
13841			inputs: []inputInfo{
13842				{0, 4}, // DX
13843				{1, 8}, // BX
13844			},
13845		},
13846	},
13847	{
13848		name:    "LoweredPanicBoundsB",
13849		auxType: auxInt64,
13850		argLen:  3,
13851		call:    true,
13852		reg: regInfo{
13853			inputs: []inputInfo{
13854				{0, 2}, // CX
13855				{1, 4}, // DX
13856			},
13857		},
13858	},
13859	{
13860		name:    "LoweredPanicBoundsC",
13861		auxType: auxInt64,
13862		argLen:  3,
13863		call:    true,
13864		reg: regInfo{
13865			inputs: []inputInfo{
13866				{0, 1}, // AX
13867				{1, 2}, // CX
13868			},
13869		},
13870	},
13871	{
13872		name:   "FlagEQ",
13873		argLen: 0,
13874		reg:    regInfo{},
13875	},
13876	{
13877		name:   "FlagLT_ULT",
13878		argLen: 0,
13879		reg:    regInfo{},
13880	},
13881	{
13882		name:   "FlagLT_UGT",
13883		argLen: 0,
13884		reg:    regInfo{},
13885	},
13886	{
13887		name:   "FlagGT_UGT",
13888		argLen: 0,
13889		reg:    regInfo{},
13890	},
13891	{
13892		name:   "FlagGT_ULT",
13893		argLen: 0,
13894		reg:    regInfo{},
13895	},
13896	{
13897		name:           "MOVBatomicload",
13898		auxType:        auxSymOff,
13899		argLen:         2,
13900		faultOnNilArg0: true,
13901		symEffect:      SymRead,
13902		asm:            x86.AMOVB,
13903		reg: regInfo{
13904			inputs: []inputInfo{
13905				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13906			},
13907			outputs: []outputInfo{
13908				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13909			},
13910		},
13911	},
13912	{
13913		name:           "MOVLatomicload",
13914		auxType:        auxSymOff,
13915		argLen:         2,
13916		faultOnNilArg0: true,
13917		symEffect:      SymRead,
13918		asm:            x86.AMOVL,
13919		reg: regInfo{
13920			inputs: []inputInfo{
13921				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13922			},
13923			outputs: []outputInfo{
13924				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13925			},
13926		},
13927	},
13928	{
13929		name:           "MOVQatomicload",
13930		auxType:        auxSymOff,
13931		argLen:         2,
13932		faultOnNilArg0: true,
13933		symEffect:      SymRead,
13934		asm:            x86.AMOVQ,
13935		reg: regInfo{
13936			inputs: []inputInfo{
13937				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13938			},
13939			outputs: []outputInfo{
13940				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13941			},
13942		},
13943	},
13944	{
13945		name:           "XCHGB",
13946		auxType:        auxSymOff,
13947		argLen:         3,
13948		resultInArg0:   true,
13949		faultOnNilArg1: true,
13950		hasSideEffects: true,
13951		symEffect:      SymRdWr,
13952		asm:            x86.AXCHGB,
13953		reg: regInfo{
13954			inputs: []inputInfo{
13955				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13956				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13957			},
13958			outputs: []outputInfo{
13959				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13960			},
13961		},
13962	},
13963	{
13964		name:           "XCHGL",
13965		auxType:        auxSymOff,
13966		argLen:         3,
13967		resultInArg0:   true,
13968		faultOnNilArg1: true,
13969		hasSideEffects: true,
13970		symEffect:      SymRdWr,
13971		asm:            x86.AXCHGL,
13972		reg: regInfo{
13973			inputs: []inputInfo{
13974				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13975				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13976			},
13977			outputs: []outputInfo{
13978				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13979			},
13980		},
13981	},
13982	{
13983		name:           "XCHGQ",
13984		auxType:        auxSymOff,
13985		argLen:         3,
13986		resultInArg0:   true,
13987		faultOnNilArg1: true,
13988		hasSideEffects: true,
13989		symEffect:      SymRdWr,
13990		asm:            x86.AXCHGQ,
13991		reg: regInfo{
13992			inputs: []inputInfo{
13993				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13994				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
13995			},
13996			outputs: []outputInfo{
13997				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
13998			},
13999		},
14000	},
14001	{
14002		name:           "XADDLlock",
14003		auxType:        auxSymOff,
14004		argLen:         3,
14005		resultInArg0:   true,
14006		clobberFlags:   true,
14007		faultOnNilArg1: true,
14008		hasSideEffects: true,
14009		symEffect:      SymRdWr,
14010		asm:            x86.AXADDL,
14011		reg: regInfo{
14012			inputs: []inputInfo{
14013				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14014				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14015			},
14016			outputs: []outputInfo{
14017				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14018			},
14019		},
14020	},
14021	{
14022		name:           "XADDQlock",
14023		auxType:        auxSymOff,
14024		argLen:         3,
14025		resultInArg0:   true,
14026		clobberFlags:   true,
14027		faultOnNilArg1: true,
14028		hasSideEffects: true,
14029		symEffect:      SymRdWr,
14030		asm:            x86.AXADDQ,
14031		reg: regInfo{
14032			inputs: []inputInfo{
14033				{0, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14034				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14035			},
14036			outputs: []outputInfo{
14037				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14038			},
14039		},
14040	},
14041	{
14042		name:   "AddTupleFirst32",
14043		argLen: 2,
14044		reg:    regInfo{},
14045	},
14046	{
14047		name:   "AddTupleFirst64",
14048		argLen: 2,
14049		reg:    regInfo{},
14050	},
14051	{
14052		name:           "CMPXCHGLlock",
14053		auxType:        auxSymOff,
14054		argLen:         4,
14055		clobberFlags:   true,
14056		faultOnNilArg0: true,
14057		hasSideEffects: true,
14058		symEffect:      SymRdWr,
14059		asm:            x86.ACMPXCHGL,
14060		reg: regInfo{
14061			inputs: []inputInfo{
14062				{1, 1},     // AX
14063				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14064				{2, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14065			},
14066			clobbers: 1, // AX
14067			outputs: []outputInfo{
14068				{1, 0},
14069				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14070			},
14071		},
14072	},
14073	{
14074		name:           "CMPXCHGQlock",
14075		auxType:        auxSymOff,
14076		argLen:         4,
14077		clobberFlags:   true,
14078		faultOnNilArg0: true,
14079		hasSideEffects: true,
14080		symEffect:      SymRdWr,
14081		asm:            x86.ACMPXCHGQ,
14082		reg: regInfo{
14083			inputs: []inputInfo{
14084				{1, 1},     // AX
14085				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14086				{2, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14087			},
14088			clobbers: 1, // AX
14089			outputs: []outputInfo{
14090				{1, 0},
14091				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14092			},
14093		},
14094	},
14095	{
14096		name:           "ANDBlock",
14097		auxType:        auxSymOff,
14098		argLen:         3,
14099		clobberFlags:   true,
14100		faultOnNilArg0: true,
14101		hasSideEffects: true,
14102		symEffect:      SymRdWr,
14103		asm:            x86.AANDB,
14104		reg: regInfo{
14105			inputs: []inputInfo{
14106				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14107				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14108			},
14109		},
14110	},
14111	{
14112		name:           "ANDLlock",
14113		auxType:        auxSymOff,
14114		argLen:         3,
14115		clobberFlags:   true,
14116		faultOnNilArg0: true,
14117		hasSideEffects: true,
14118		symEffect:      SymRdWr,
14119		asm:            x86.AANDL,
14120		reg: regInfo{
14121			inputs: []inputInfo{
14122				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14123				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14124			},
14125		},
14126	},
14127	{
14128		name:           "ORBlock",
14129		auxType:        auxSymOff,
14130		argLen:         3,
14131		clobberFlags:   true,
14132		faultOnNilArg0: true,
14133		hasSideEffects: true,
14134		symEffect:      SymRdWr,
14135		asm:            x86.AORB,
14136		reg: regInfo{
14137			inputs: []inputInfo{
14138				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14139				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14140			},
14141		},
14142	},
14143	{
14144		name:           "ORLlock",
14145		auxType:        auxSymOff,
14146		argLen:         3,
14147		clobberFlags:   true,
14148		faultOnNilArg0: true,
14149		hasSideEffects: true,
14150		symEffect:      SymRdWr,
14151		asm:            x86.AORL,
14152		reg: regInfo{
14153			inputs: []inputInfo{
14154				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14155				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14156			},
14157		},
14158	},
14159	{
14160		name:           "PrefetchT0",
14161		argLen:         2,
14162		hasSideEffects: true,
14163		asm:            x86.APREFETCHT0,
14164		reg: regInfo{
14165			inputs: []inputInfo{
14166				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14167			},
14168		},
14169	},
14170	{
14171		name:           "PrefetchNTA",
14172		argLen:         2,
14173		hasSideEffects: true,
14174		asm:            x86.APREFETCHNTA,
14175		reg: regInfo{
14176			inputs: []inputInfo{
14177				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14178			},
14179		},
14180	},
14181	{
14182		name:         "ANDNQ",
14183		argLen:       2,
14184		clobberFlags: true,
14185		asm:          x86.AANDNQ,
14186		reg: regInfo{
14187			inputs: []inputInfo{
14188				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14189				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14190			},
14191			outputs: []outputInfo{
14192				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14193			},
14194		},
14195	},
14196	{
14197		name:         "ANDNL",
14198		argLen:       2,
14199		clobberFlags: true,
14200		asm:          x86.AANDNL,
14201		reg: regInfo{
14202			inputs: []inputInfo{
14203				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14204				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14205			},
14206			outputs: []outputInfo{
14207				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14208			},
14209		},
14210	},
14211	{
14212		name:         "BLSIQ",
14213		argLen:       1,
14214		clobberFlags: true,
14215		asm:          x86.ABLSIQ,
14216		reg: regInfo{
14217			inputs: []inputInfo{
14218				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14219			},
14220			outputs: []outputInfo{
14221				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14222			},
14223		},
14224	},
14225	{
14226		name:         "BLSIL",
14227		argLen:       1,
14228		clobberFlags: true,
14229		asm:          x86.ABLSIL,
14230		reg: regInfo{
14231			inputs: []inputInfo{
14232				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14233			},
14234			outputs: []outputInfo{
14235				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14236			},
14237		},
14238	},
14239	{
14240		name:         "BLSMSKQ",
14241		argLen:       1,
14242		clobberFlags: true,
14243		asm:          x86.ABLSMSKQ,
14244		reg: regInfo{
14245			inputs: []inputInfo{
14246				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14247			},
14248			outputs: []outputInfo{
14249				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14250			},
14251		},
14252	},
14253	{
14254		name:         "BLSMSKL",
14255		argLen:       1,
14256		clobberFlags: true,
14257		asm:          x86.ABLSMSKL,
14258		reg: regInfo{
14259			inputs: []inputInfo{
14260				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14261			},
14262			outputs: []outputInfo{
14263				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14264			},
14265		},
14266	},
14267	{
14268		name:   "BLSRQ",
14269		argLen: 1,
14270		asm:    x86.ABLSRQ,
14271		reg: regInfo{
14272			inputs: []inputInfo{
14273				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14274			},
14275			outputs: []outputInfo{
14276				{1, 0},
14277				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14278			},
14279		},
14280	},
14281	{
14282		name:   "BLSRL",
14283		argLen: 1,
14284		asm:    x86.ABLSRL,
14285		reg: regInfo{
14286			inputs: []inputInfo{
14287				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14288			},
14289			outputs: []outputInfo{
14290				{1, 0},
14291				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14292			},
14293		},
14294	},
14295	{
14296		name:         "TZCNTQ",
14297		argLen:       1,
14298		clobberFlags: true,
14299		asm:          x86.ATZCNTQ,
14300		reg: regInfo{
14301			inputs: []inputInfo{
14302				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14303			},
14304			outputs: []outputInfo{
14305				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14306			},
14307		},
14308	},
14309	{
14310		name:         "TZCNTL",
14311		argLen:       1,
14312		clobberFlags: true,
14313		asm:          x86.ATZCNTL,
14314		reg: regInfo{
14315			inputs: []inputInfo{
14316				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14317			},
14318			outputs: []outputInfo{
14319				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14320			},
14321		},
14322	},
14323	{
14324		name:         "LZCNTQ",
14325		argLen:       1,
14326		clobberFlags: true,
14327		asm:          x86.ALZCNTQ,
14328		reg: regInfo{
14329			inputs: []inputInfo{
14330				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14331			},
14332			outputs: []outputInfo{
14333				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14334			},
14335		},
14336	},
14337	{
14338		name:         "LZCNTL",
14339		argLen:       1,
14340		clobberFlags: true,
14341		asm:          x86.ALZCNTL,
14342		reg: regInfo{
14343			inputs: []inputInfo{
14344				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14345			},
14346			outputs: []outputInfo{
14347				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14348			},
14349		},
14350	},
14351	{
14352		name:           "MOVBEWstore",
14353		auxType:        auxSymOff,
14354		argLen:         3,
14355		faultOnNilArg0: true,
14356		symEffect:      SymWrite,
14357		asm:            x86.AMOVBEW,
14358		reg: regInfo{
14359			inputs: []inputInfo{
14360				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14361				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14362			},
14363		},
14364	},
14365	{
14366		name:           "MOVBELload",
14367		auxType:        auxSymOff,
14368		argLen:         2,
14369		faultOnNilArg0: true,
14370		symEffect:      SymRead,
14371		asm:            x86.AMOVBEL,
14372		reg: regInfo{
14373			inputs: []inputInfo{
14374				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14375			},
14376			outputs: []outputInfo{
14377				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14378			},
14379		},
14380	},
14381	{
14382		name:           "MOVBELstore",
14383		auxType:        auxSymOff,
14384		argLen:         3,
14385		faultOnNilArg0: true,
14386		symEffect:      SymWrite,
14387		asm:            x86.AMOVBEL,
14388		reg: regInfo{
14389			inputs: []inputInfo{
14390				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14391				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14392			},
14393		},
14394	},
14395	{
14396		name:           "MOVBEQload",
14397		auxType:        auxSymOff,
14398		argLen:         2,
14399		faultOnNilArg0: true,
14400		symEffect:      SymRead,
14401		asm:            x86.AMOVBEQ,
14402		reg: regInfo{
14403			inputs: []inputInfo{
14404				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14405			},
14406			outputs: []outputInfo{
14407				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14408			},
14409		},
14410	},
14411	{
14412		name:           "MOVBEQstore",
14413		auxType:        auxSymOff,
14414		argLen:         3,
14415		faultOnNilArg0: true,
14416		symEffect:      SymWrite,
14417		asm:            x86.AMOVBEQ,
14418		reg: regInfo{
14419			inputs: []inputInfo{
14420				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14421				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14422			},
14423		},
14424	},
14425	{
14426		name:        "MOVBELloadidx1",
14427		auxType:     auxSymOff,
14428		argLen:      3,
14429		commutative: true,
14430		symEffect:   SymRead,
14431		asm:         x86.AMOVBEL,
14432		scale:       1,
14433		reg: regInfo{
14434			inputs: []inputInfo{
14435				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14436				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14437			},
14438			outputs: []outputInfo{
14439				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14440			},
14441		},
14442	},
14443	{
14444		name:      "MOVBELloadidx4",
14445		auxType:   auxSymOff,
14446		argLen:    3,
14447		symEffect: SymRead,
14448		asm:       x86.AMOVBEL,
14449		scale:     4,
14450		reg: regInfo{
14451			inputs: []inputInfo{
14452				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14453				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14454			},
14455			outputs: []outputInfo{
14456				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14457			},
14458		},
14459	},
14460	{
14461		name:      "MOVBELloadidx8",
14462		auxType:   auxSymOff,
14463		argLen:    3,
14464		symEffect: SymRead,
14465		asm:       x86.AMOVBEL,
14466		scale:     8,
14467		reg: regInfo{
14468			inputs: []inputInfo{
14469				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14470				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14471			},
14472			outputs: []outputInfo{
14473				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14474			},
14475		},
14476	},
14477	{
14478		name:        "MOVBEQloadidx1",
14479		auxType:     auxSymOff,
14480		argLen:      3,
14481		commutative: true,
14482		symEffect:   SymRead,
14483		asm:         x86.AMOVBEQ,
14484		scale:       1,
14485		reg: regInfo{
14486			inputs: []inputInfo{
14487				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14488				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14489			},
14490			outputs: []outputInfo{
14491				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14492			},
14493		},
14494	},
14495	{
14496		name:      "MOVBEQloadidx8",
14497		auxType:   auxSymOff,
14498		argLen:    3,
14499		symEffect: SymRead,
14500		asm:       x86.AMOVBEQ,
14501		scale:     8,
14502		reg: regInfo{
14503			inputs: []inputInfo{
14504				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14505				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14506			},
14507			outputs: []outputInfo{
14508				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14509			},
14510		},
14511	},
14512	{
14513		name:        "MOVBEWstoreidx1",
14514		auxType:     auxSymOff,
14515		argLen:      4,
14516		commutative: true,
14517		symEffect:   SymWrite,
14518		asm:         x86.AMOVBEW,
14519		scale:       1,
14520		reg: regInfo{
14521			inputs: []inputInfo{
14522				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14523				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14524				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14525			},
14526		},
14527	},
14528	{
14529		name:      "MOVBEWstoreidx2",
14530		auxType:   auxSymOff,
14531		argLen:    4,
14532		symEffect: SymWrite,
14533		asm:       x86.AMOVBEW,
14534		scale:     2,
14535		reg: regInfo{
14536			inputs: []inputInfo{
14537				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14538				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14539				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14540			},
14541		},
14542	},
14543	{
14544		name:        "MOVBELstoreidx1",
14545		auxType:     auxSymOff,
14546		argLen:      4,
14547		commutative: true,
14548		symEffect:   SymWrite,
14549		asm:         x86.AMOVBEL,
14550		scale:       1,
14551		reg: regInfo{
14552			inputs: []inputInfo{
14553				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14554				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14555				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14556			},
14557		},
14558	},
14559	{
14560		name:      "MOVBELstoreidx4",
14561		auxType:   auxSymOff,
14562		argLen:    4,
14563		symEffect: SymWrite,
14564		asm:       x86.AMOVBEL,
14565		scale:     4,
14566		reg: regInfo{
14567			inputs: []inputInfo{
14568				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14569				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14570				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14571			},
14572		},
14573	},
14574	{
14575		name:      "MOVBELstoreidx8",
14576		auxType:   auxSymOff,
14577		argLen:    4,
14578		symEffect: SymWrite,
14579		asm:       x86.AMOVBEL,
14580		scale:     8,
14581		reg: regInfo{
14582			inputs: []inputInfo{
14583				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14584				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14585				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14586			},
14587		},
14588	},
14589	{
14590		name:        "MOVBEQstoreidx1",
14591		auxType:     auxSymOff,
14592		argLen:      4,
14593		commutative: true,
14594		symEffect:   SymWrite,
14595		asm:         x86.AMOVBEQ,
14596		scale:       1,
14597		reg: regInfo{
14598			inputs: []inputInfo{
14599				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14600				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14601				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14602			},
14603		},
14604	},
14605	{
14606		name:      "MOVBEQstoreidx8",
14607		auxType:   auxSymOff,
14608		argLen:    4,
14609		symEffect: SymWrite,
14610		asm:       x86.AMOVBEQ,
14611		scale:     8,
14612		reg: regInfo{
14613			inputs: []inputInfo{
14614				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14615				{2, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14616				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14617			},
14618		},
14619	},
14620	{
14621		name:   "SARXQ",
14622		argLen: 2,
14623		asm:    x86.ASARXQ,
14624		reg: regInfo{
14625			inputs: []inputInfo{
14626				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14627				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14628			},
14629			outputs: []outputInfo{
14630				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14631			},
14632		},
14633	},
14634	{
14635		name:   "SARXL",
14636		argLen: 2,
14637		asm:    x86.ASARXL,
14638		reg: regInfo{
14639			inputs: []inputInfo{
14640				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14641				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14642			},
14643			outputs: []outputInfo{
14644				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14645			},
14646		},
14647	},
14648	{
14649		name:   "SHLXQ",
14650		argLen: 2,
14651		asm:    x86.ASHLXQ,
14652		reg: regInfo{
14653			inputs: []inputInfo{
14654				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14655				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14656			},
14657			outputs: []outputInfo{
14658				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14659			},
14660		},
14661	},
14662	{
14663		name:   "SHLXL",
14664		argLen: 2,
14665		asm:    x86.ASHLXL,
14666		reg: regInfo{
14667			inputs: []inputInfo{
14668				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14669				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14670			},
14671			outputs: []outputInfo{
14672				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14673			},
14674		},
14675	},
14676	{
14677		name:   "SHRXQ",
14678		argLen: 2,
14679		asm:    x86.ASHRXQ,
14680		reg: regInfo{
14681			inputs: []inputInfo{
14682				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14683				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14684			},
14685			outputs: []outputInfo{
14686				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14687			},
14688		},
14689	},
14690	{
14691		name:   "SHRXL",
14692		argLen: 2,
14693		asm:    x86.ASHRXL,
14694		reg: regInfo{
14695			inputs: []inputInfo{
14696				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14697				{1, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14698			},
14699			outputs: []outputInfo{
14700				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14701			},
14702		},
14703	},
14704	{
14705		name:           "SARXLload",
14706		auxType:        auxSymOff,
14707		argLen:         3,
14708		faultOnNilArg0: true,
14709		symEffect:      SymRead,
14710		asm:            x86.ASARXL,
14711		reg: regInfo{
14712			inputs: []inputInfo{
14713				{1, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14714				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14715			},
14716			outputs: []outputInfo{
14717				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14718			},
14719		},
14720	},
14721	{
14722		name:           "SARXQload",
14723		auxType:        auxSymOff,
14724		argLen:         3,
14725		faultOnNilArg0: true,
14726		symEffect:      SymRead,
14727		asm:            x86.ASARXQ,
14728		reg: regInfo{
14729			inputs: []inputInfo{
14730				{1, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14731				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14732			},
14733			outputs: []outputInfo{
14734				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14735			},
14736		},
14737	},
14738	{
14739		name:           "SHLXLload",
14740		auxType:        auxSymOff,
14741		argLen:         3,
14742		faultOnNilArg0: true,
14743		symEffect:      SymRead,
14744		asm:            x86.ASHLXL,
14745		reg: regInfo{
14746			inputs: []inputInfo{
14747				{1, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14748				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14749			},
14750			outputs: []outputInfo{
14751				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14752			},
14753		},
14754	},
14755	{
14756		name:           "SHLXQload",
14757		auxType:        auxSymOff,
14758		argLen:         3,
14759		faultOnNilArg0: true,
14760		symEffect:      SymRead,
14761		asm:            x86.ASHLXQ,
14762		reg: regInfo{
14763			inputs: []inputInfo{
14764				{1, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14765				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14766			},
14767			outputs: []outputInfo{
14768				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14769			},
14770		},
14771	},
14772	{
14773		name:           "SHRXLload",
14774		auxType:        auxSymOff,
14775		argLen:         3,
14776		faultOnNilArg0: true,
14777		symEffect:      SymRead,
14778		asm:            x86.ASHRXL,
14779		reg: regInfo{
14780			inputs: []inputInfo{
14781				{1, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14782				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14783			},
14784			outputs: []outputInfo{
14785				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14786			},
14787		},
14788	},
14789	{
14790		name:           "SHRXQload",
14791		auxType:        auxSymOff,
14792		argLen:         3,
14793		faultOnNilArg0: true,
14794		symEffect:      SymRead,
14795		asm:            x86.ASHRXQ,
14796		reg: regInfo{
14797			inputs: []inputInfo{
14798				{1, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14799				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14800			},
14801			outputs: []outputInfo{
14802				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14803			},
14804		},
14805	},
14806	{
14807		name:           "SARXLloadidx1",
14808		auxType:        auxSymOff,
14809		argLen:         4,
14810		faultOnNilArg0: true,
14811		symEffect:      SymRead,
14812		asm:            x86.ASARXL,
14813		scale:          1,
14814		reg: regInfo{
14815			inputs: []inputInfo{
14816				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14817				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14818				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14819			},
14820			outputs: []outputInfo{
14821				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14822			},
14823		},
14824	},
14825	{
14826		name:           "SARXLloadidx4",
14827		auxType:        auxSymOff,
14828		argLen:         4,
14829		faultOnNilArg0: true,
14830		symEffect:      SymRead,
14831		asm:            x86.ASARXL,
14832		scale:          4,
14833		reg: regInfo{
14834			inputs: []inputInfo{
14835				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14836				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14837				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14838			},
14839			outputs: []outputInfo{
14840				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14841			},
14842		},
14843	},
14844	{
14845		name:           "SARXLloadidx8",
14846		auxType:        auxSymOff,
14847		argLen:         4,
14848		faultOnNilArg0: true,
14849		symEffect:      SymRead,
14850		asm:            x86.ASARXL,
14851		scale:          8,
14852		reg: regInfo{
14853			inputs: []inputInfo{
14854				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14855				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14856				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14857			},
14858			outputs: []outputInfo{
14859				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14860			},
14861		},
14862	},
14863	{
14864		name:           "SARXQloadidx1",
14865		auxType:        auxSymOff,
14866		argLen:         4,
14867		faultOnNilArg0: true,
14868		symEffect:      SymRead,
14869		asm:            x86.ASARXQ,
14870		scale:          1,
14871		reg: regInfo{
14872			inputs: []inputInfo{
14873				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14874				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14875				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14876			},
14877			outputs: []outputInfo{
14878				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14879			},
14880		},
14881	},
14882	{
14883		name:           "SARXQloadidx8",
14884		auxType:        auxSymOff,
14885		argLen:         4,
14886		faultOnNilArg0: true,
14887		symEffect:      SymRead,
14888		asm:            x86.ASARXQ,
14889		scale:          8,
14890		reg: regInfo{
14891			inputs: []inputInfo{
14892				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14893				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14894				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14895			},
14896			outputs: []outputInfo{
14897				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14898			},
14899		},
14900	},
14901	{
14902		name:           "SHLXLloadidx1",
14903		auxType:        auxSymOff,
14904		argLen:         4,
14905		faultOnNilArg0: true,
14906		symEffect:      SymRead,
14907		asm:            x86.ASHLXL,
14908		scale:          1,
14909		reg: regInfo{
14910			inputs: []inputInfo{
14911				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14912				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14913				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14914			},
14915			outputs: []outputInfo{
14916				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14917			},
14918		},
14919	},
14920	{
14921		name:           "SHLXLloadidx4",
14922		auxType:        auxSymOff,
14923		argLen:         4,
14924		faultOnNilArg0: true,
14925		symEffect:      SymRead,
14926		asm:            x86.ASHLXL,
14927		scale:          4,
14928		reg: regInfo{
14929			inputs: []inputInfo{
14930				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14931				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14932				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14933			},
14934			outputs: []outputInfo{
14935				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14936			},
14937		},
14938	},
14939	{
14940		name:           "SHLXLloadidx8",
14941		auxType:        auxSymOff,
14942		argLen:         4,
14943		faultOnNilArg0: true,
14944		symEffect:      SymRead,
14945		asm:            x86.ASHLXL,
14946		scale:          8,
14947		reg: regInfo{
14948			inputs: []inputInfo{
14949				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14950				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14951				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14952			},
14953			outputs: []outputInfo{
14954				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14955			},
14956		},
14957	},
14958	{
14959		name:           "SHLXQloadidx1",
14960		auxType:        auxSymOff,
14961		argLen:         4,
14962		faultOnNilArg0: true,
14963		symEffect:      SymRead,
14964		asm:            x86.ASHLXQ,
14965		scale:          1,
14966		reg: regInfo{
14967			inputs: []inputInfo{
14968				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14969				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14970				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14971			},
14972			outputs: []outputInfo{
14973				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14974			},
14975		},
14976	},
14977	{
14978		name:           "SHLXQloadidx8",
14979		auxType:        auxSymOff,
14980		argLen:         4,
14981		faultOnNilArg0: true,
14982		symEffect:      SymRead,
14983		asm:            x86.ASHLXQ,
14984		scale:          8,
14985		reg: regInfo{
14986			inputs: []inputInfo{
14987				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14988				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
14989				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
14990			},
14991			outputs: []outputInfo{
14992				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
14993			},
14994		},
14995	},
14996	{
14997		name:           "SHRXLloadidx1",
14998		auxType:        auxSymOff,
14999		argLen:         4,
15000		faultOnNilArg0: true,
15001		symEffect:      SymRead,
15002		asm:            x86.ASHRXL,
15003		scale:          1,
15004		reg: regInfo{
15005			inputs: []inputInfo{
15006				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15007				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15008				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15009			},
15010			outputs: []outputInfo{
15011				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15012			},
15013		},
15014	},
15015	{
15016		name:           "SHRXLloadidx4",
15017		auxType:        auxSymOff,
15018		argLen:         4,
15019		faultOnNilArg0: true,
15020		symEffect:      SymRead,
15021		asm:            x86.ASHRXL,
15022		scale:          4,
15023		reg: regInfo{
15024			inputs: []inputInfo{
15025				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15026				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15027				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15028			},
15029			outputs: []outputInfo{
15030				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15031			},
15032		},
15033	},
15034	{
15035		name:           "SHRXLloadidx8",
15036		auxType:        auxSymOff,
15037		argLen:         4,
15038		faultOnNilArg0: true,
15039		symEffect:      SymRead,
15040		asm:            x86.ASHRXL,
15041		scale:          8,
15042		reg: regInfo{
15043			inputs: []inputInfo{
15044				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15045				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15046				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15047			},
15048			outputs: []outputInfo{
15049				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15050			},
15051		},
15052	},
15053	{
15054		name:           "SHRXQloadidx1",
15055		auxType:        auxSymOff,
15056		argLen:         4,
15057		faultOnNilArg0: true,
15058		symEffect:      SymRead,
15059		asm:            x86.ASHRXQ,
15060		scale:          1,
15061		reg: regInfo{
15062			inputs: []inputInfo{
15063				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15064				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15065				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15066			},
15067			outputs: []outputInfo{
15068				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15069			},
15070		},
15071	},
15072	{
15073		name:           "SHRXQloadidx8",
15074		auxType:        auxSymOff,
15075		argLen:         4,
15076		faultOnNilArg0: true,
15077		symEffect:      SymRead,
15078		asm:            x86.ASHRXQ,
15079		scale:          8,
15080		reg: regInfo{
15081			inputs: []inputInfo{
15082				{2, 49135},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15083				{1, 49151},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R15
15084				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
15085			},
15086			outputs: []outputInfo{
15087				{0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
15088			},
15089		},
15090	},
15091
15092	{
15093		name:        "ADD",
15094		argLen:      2,
15095		commutative: true,
15096		asm:         arm.AADD,
15097		reg: regInfo{
15098			inputs: []inputInfo{
15099				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15100				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15101			},
15102			outputs: []outputInfo{
15103				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15104			},
15105		},
15106	},
15107	{
15108		name:    "ADDconst",
15109		auxType: auxInt32,
15110		argLen:  1,
15111		asm:     arm.AADD,
15112		reg: regInfo{
15113			inputs: []inputInfo{
15114				{0, 30719}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14
15115			},
15116			outputs: []outputInfo{
15117				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15118			},
15119		},
15120	},
15121	{
15122		name:   "SUB",
15123		argLen: 2,
15124		asm:    arm.ASUB,
15125		reg: regInfo{
15126			inputs: []inputInfo{
15127				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15128				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15129			},
15130			outputs: []outputInfo{
15131				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15132			},
15133		},
15134	},
15135	{
15136		name:    "SUBconst",
15137		auxType: auxInt32,
15138		argLen:  1,
15139		asm:     arm.ASUB,
15140		reg: regInfo{
15141			inputs: []inputInfo{
15142				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15143			},
15144			outputs: []outputInfo{
15145				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15146			},
15147		},
15148	},
15149	{
15150		name:   "RSB",
15151		argLen: 2,
15152		asm:    arm.ARSB,
15153		reg: regInfo{
15154			inputs: []inputInfo{
15155				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15156				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15157			},
15158			outputs: []outputInfo{
15159				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15160			},
15161		},
15162	},
15163	{
15164		name:    "RSBconst",
15165		auxType: auxInt32,
15166		argLen:  1,
15167		asm:     arm.ARSB,
15168		reg: regInfo{
15169			inputs: []inputInfo{
15170				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15171			},
15172			outputs: []outputInfo{
15173				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15174			},
15175		},
15176	},
15177	{
15178		name:        "MUL",
15179		argLen:      2,
15180		commutative: true,
15181		asm:         arm.AMUL,
15182		reg: regInfo{
15183			inputs: []inputInfo{
15184				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15185				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15186			},
15187			outputs: []outputInfo{
15188				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15189			},
15190		},
15191	},
15192	{
15193		name:        "HMUL",
15194		argLen:      2,
15195		commutative: true,
15196		asm:         arm.AMULL,
15197		reg: regInfo{
15198			inputs: []inputInfo{
15199				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15200				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15201			},
15202			outputs: []outputInfo{
15203				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15204			},
15205		},
15206	},
15207	{
15208		name:        "HMULU",
15209		argLen:      2,
15210		commutative: true,
15211		asm:         arm.AMULLU,
15212		reg: regInfo{
15213			inputs: []inputInfo{
15214				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15215				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15216			},
15217			outputs: []outputInfo{
15218				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15219			},
15220		},
15221	},
15222	{
15223		name:         "CALLudiv",
15224		argLen:       2,
15225		clobberFlags: true,
15226		reg: regInfo{
15227			inputs: []inputInfo{
15228				{0, 2}, // R1
15229				{1, 1}, // R0
15230			},
15231			clobbers: 20492, // R2 R3 R12 R14
15232			outputs: []outputInfo{
15233				{0, 1}, // R0
15234				{1, 2}, // R1
15235			},
15236		},
15237	},
15238	{
15239		name:        "ADDS",
15240		argLen:      2,
15241		commutative: true,
15242		asm:         arm.AADD,
15243		reg: regInfo{
15244			inputs: []inputInfo{
15245				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15246				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15247			},
15248			outputs: []outputInfo{
15249				{1, 0},
15250				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15251			},
15252		},
15253	},
15254	{
15255		name:    "ADDSconst",
15256		auxType: auxInt32,
15257		argLen:  1,
15258		asm:     arm.AADD,
15259		reg: regInfo{
15260			inputs: []inputInfo{
15261				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15262			},
15263			outputs: []outputInfo{
15264				{1, 0},
15265				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15266			},
15267		},
15268	},
15269	{
15270		name:        "ADC",
15271		argLen:      3,
15272		commutative: true,
15273		asm:         arm.AADC,
15274		reg: regInfo{
15275			inputs: []inputInfo{
15276				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15277				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15278			},
15279			outputs: []outputInfo{
15280				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15281			},
15282		},
15283	},
15284	{
15285		name:    "ADCconst",
15286		auxType: auxInt32,
15287		argLen:  2,
15288		asm:     arm.AADC,
15289		reg: regInfo{
15290			inputs: []inputInfo{
15291				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15292			},
15293			outputs: []outputInfo{
15294				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15295			},
15296		},
15297	},
15298	{
15299		name:   "SUBS",
15300		argLen: 2,
15301		asm:    arm.ASUB,
15302		reg: regInfo{
15303			inputs: []inputInfo{
15304				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15305				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15306			},
15307			outputs: []outputInfo{
15308				{1, 0},
15309				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15310			},
15311		},
15312	},
15313	{
15314		name:    "SUBSconst",
15315		auxType: auxInt32,
15316		argLen:  1,
15317		asm:     arm.ASUB,
15318		reg: regInfo{
15319			inputs: []inputInfo{
15320				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15321			},
15322			outputs: []outputInfo{
15323				{1, 0},
15324				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15325			},
15326		},
15327	},
15328	{
15329		name:    "RSBSconst",
15330		auxType: auxInt32,
15331		argLen:  1,
15332		asm:     arm.ARSB,
15333		reg: regInfo{
15334			inputs: []inputInfo{
15335				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15336			},
15337			outputs: []outputInfo{
15338				{1, 0},
15339				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15340			},
15341		},
15342	},
15343	{
15344		name:   "SBC",
15345		argLen: 3,
15346		asm:    arm.ASBC,
15347		reg: regInfo{
15348			inputs: []inputInfo{
15349				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15350				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15351			},
15352			outputs: []outputInfo{
15353				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15354			},
15355		},
15356	},
15357	{
15358		name:    "SBCconst",
15359		auxType: auxInt32,
15360		argLen:  2,
15361		asm:     arm.ASBC,
15362		reg: regInfo{
15363			inputs: []inputInfo{
15364				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15365			},
15366			outputs: []outputInfo{
15367				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15368			},
15369		},
15370	},
15371	{
15372		name:    "RSCconst",
15373		auxType: auxInt32,
15374		argLen:  2,
15375		asm:     arm.ARSC,
15376		reg: regInfo{
15377			inputs: []inputInfo{
15378				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15379			},
15380			outputs: []outputInfo{
15381				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15382			},
15383		},
15384	},
15385	{
15386		name:        "MULLU",
15387		argLen:      2,
15388		commutative: true,
15389		asm:         arm.AMULLU,
15390		reg: regInfo{
15391			inputs: []inputInfo{
15392				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15393				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15394			},
15395			outputs: []outputInfo{
15396				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15397				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15398			},
15399		},
15400	},
15401	{
15402		name:   "MULA",
15403		argLen: 3,
15404		asm:    arm.AMULA,
15405		reg: regInfo{
15406			inputs: []inputInfo{
15407				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15408				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15409				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15410			},
15411			outputs: []outputInfo{
15412				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15413			},
15414		},
15415	},
15416	{
15417		name:   "MULS",
15418		argLen: 3,
15419		asm:    arm.AMULS,
15420		reg: regInfo{
15421			inputs: []inputInfo{
15422				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15423				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15424				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15425			},
15426			outputs: []outputInfo{
15427				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15428			},
15429		},
15430	},
15431	{
15432		name:        "ADDF",
15433		argLen:      2,
15434		commutative: true,
15435		asm:         arm.AADDF,
15436		reg: regInfo{
15437			inputs: []inputInfo{
15438				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15439				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15440			},
15441			outputs: []outputInfo{
15442				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15443			},
15444		},
15445	},
15446	{
15447		name:        "ADDD",
15448		argLen:      2,
15449		commutative: true,
15450		asm:         arm.AADDD,
15451		reg: regInfo{
15452			inputs: []inputInfo{
15453				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15454				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15455			},
15456			outputs: []outputInfo{
15457				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15458			},
15459		},
15460	},
15461	{
15462		name:   "SUBF",
15463		argLen: 2,
15464		asm:    arm.ASUBF,
15465		reg: regInfo{
15466			inputs: []inputInfo{
15467				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15468				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15469			},
15470			outputs: []outputInfo{
15471				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15472			},
15473		},
15474	},
15475	{
15476		name:   "SUBD",
15477		argLen: 2,
15478		asm:    arm.ASUBD,
15479		reg: regInfo{
15480			inputs: []inputInfo{
15481				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15482				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15483			},
15484			outputs: []outputInfo{
15485				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15486			},
15487		},
15488	},
15489	{
15490		name:        "MULF",
15491		argLen:      2,
15492		commutative: true,
15493		asm:         arm.AMULF,
15494		reg: regInfo{
15495			inputs: []inputInfo{
15496				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15497				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15498			},
15499			outputs: []outputInfo{
15500				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15501			},
15502		},
15503	},
15504	{
15505		name:        "MULD",
15506		argLen:      2,
15507		commutative: true,
15508		asm:         arm.AMULD,
15509		reg: regInfo{
15510			inputs: []inputInfo{
15511				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15512				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15513			},
15514			outputs: []outputInfo{
15515				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15516			},
15517		},
15518	},
15519	{
15520		name:        "NMULF",
15521		argLen:      2,
15522		commutative: true,
15523		asm:         arm.ANMULF,
15524		reg: regInfo{
15525			inputs: []inputInfo{
15526				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15527				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15528			},
15529			outputs: []outputInfo{
15530				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15531			},
15532		},
15533	},
15534	{
15535		name:        "NMULD",
15536		argLen:      2,
15537		commutative: true,
15538		asm:         arm.ANMULD,
15539		reg: regInfo{
15540			inputs: []inputInfo{
15541				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15542				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15543			},
15544			outputs: []outputInfo{
15545				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15546			},
15547		},
15548	},
15549	{
15550		name:   "DIVF",
15551		argLen: 2,
15552		asm:    arm.ADIVF,
15553		reg: regInfo{
15554			inputs: []inputInfo{
15555				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15556				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15557			},
15558			outputs: []outputInfo{
15559				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15560			},
15561		},
15562	},
15563	{
15564		name:   "DIVD",
15565		argLen: 2,
15566		asm:    arm.ADIVD,
15567		reg: regInfo{
15568			inputs: []inputInfo{
15569				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15570				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15571			},
15572			outputs: []outputInfo{
15573				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15574			},
15575		},
15576	},
15577	{
15578		name:         "MULAF",
15579		argLen:       3,
15580		resultInArg0: true,
15581		asm:          arm.AMULAF,
15582		reg: regInfo{
15583			inputs: []inputInfo{
15584				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15585				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15586				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15587			},
15588			outputs: []outputInfo{
15589				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15590			},
15591		},
15592	},
15593	{
15594		name:         "MULAD",
15595		argLen:       3,
15596		resultInArg0: true,
15597		asm:          arm.AMULAD,
15598		reg: regInfo{
15599			inputs: []inputInfo{
15600				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15601				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15602				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15603			},
15604			outputs: []outputInfo{
15605				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15606			},
15607		},
15608	},
15609	{
15610		name:         "MULSF",
15611		argLen:       3,
15612		resultInArg0: true,
15613		asm:          arm.AMULSF,
15614		reg: regInfo{
15615			inputs: []inputInfo{
15616				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15617				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15618				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15619			},
15620			outputs: []outputInfo{
15621				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15622			},
15623		},
15624	},
15625	{
15626		name:         "MULSD",
15627		argLen:       3,
15628		resultInArg0: true,
15629		asm:          arm.AMULSD,
15630		reg: regInfo{
15631			inputs: []inputInfo{
15632				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15633				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15634				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15635			},
15636			outputs: []outputInfo{
15637				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15638			},
15639		},
15640	},
15641	{
15642		name:         "FMULAD",
15643		argLen:       3,
15644		resultInArg0: true,
15645		asm:          arm.AFMULAD,
15646		reg: regInfo{
15647			inputs: []inputInfo{
15648				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15649				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15650				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15651			},
15652			outputs: []outputInfo{
15653				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15654			},
15655		},
15656	},
15657	{
15658		name:        "AND",
15659		argLen:      2,
15660		commutative: true,
15661		asm:         arm.AAND,
15662		reg: regInfo{
15663			inputs: []inputInfo{
15664				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15665				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15666			},
15667			outputs: []outputInfo{
15668				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15669			},
15670		},
15671	},
15672	{
15673		name:    "ANDconst",
15674		auxType: auxInt32,
15675		argLen:  1,
15676		asm:     arm.AAND,
15677		reg: regInfo{
15678			inputs: []inputInfo{
15679				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15680			},
15681			outputs: []outputInfo{
15682				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15683			},
15684		},
15685	},
15686	{
15687		name:        "OR",
15688		argLen:      2,
15689		commutative: true,
15690		asm:         arm.AORR,
15691		reg: regInfo{
15692			inputs: []inputInfo{
15693				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15694				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15695			},
15696			outputs: []outputInfo{
15697				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15698			},
15699		},
15700	},
15701	{
15702		name:    "ORconst",
15703		auxType: auxInt32,
15704		argLen:  1,
15705		asm:     arm.AORR,
15706		reg: regInfo{
15707			inputs: []inputInfo{
15708				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15709			},
15710			outputs: []outputInfo{
15711				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15712			},
15713		},
15714	},
15715	{
15716		name:        "XOR",
15717		argLen:      2,
15718		commutative: true,
15719		asm:         arm.AEOR,
15720		reg: regInfo{
15721			inputs: []inputInfo{
15722				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15723				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15724			},
15725			outputs: []outputInfo{
15726				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15727			},
15728		},
15729	},
15730	{
15731		name:    "XORconst",
15732		auxType: auxInt32,
15733		argLen:  1,
15734		asm:     arm.AEOR,
15735		reg: regInfo{
15736			inputs: []inputInfo{
15737				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15738			},
15739			outputs: []outputInfo{
15740				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15741			},
15742		},
15743	},
15744	{
15745		name:   "BIC",
15746		argLen: 2,
15747		asm:    arm.ABIC,
15748		reg: regInfo{
15749			inputs: []inputInfo{
15750				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15751				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15752			},
15753			outputs: []outputInfo{
15754				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15755			},
15756		},
15757	},
15758	{
15759		name:    "BICconst",
15760		auxType: auxInt32,
15761		argLen:  1,
15762		asm:     arm.ABIC,
15763		reg: regInfo{
15764			inputs: []inputInfo{
15765				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15766			},
15767			outputs: []outputInfo{
15768				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15769			},
15770		},
15771	},
15772	{
15773		name:    "BFX",
15774		auxType: auxInt32,
15775		argLen:  1,
15776		asm:     arm.ABFX,
15777		reg: regInfo{
15778			inputs: []inputInfo{
15779				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15780			},
15781			outputs: []outputInfo{
15782				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15783			},
15784		},
15785	},
15786	{
15787		name:    "BFXU",
15788		auxType: auxInt32,
15789		argLen:  1,
15790		asm:     arm.ABFXU,
15791		reg: regInfo{
15792			inputs: []inputInfo{
15793				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15794			},
15795			outputs: []outputInfo{
15796				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15797			},
15798		},
15799	},
15800	{
15801		name:   "MVN",
15802		argLen: 1,
15803		asm:    arm.AMVN,
15804		reg: regInfo{
15805			inputs: []inputInfo{
15806				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15807			},
15808			outputs: []outputInfo{
15809				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15810			},
15811		},
15812	},
15813	{
15814		name:   "NEGF",
15815		argLen: 1,
15816		asm:    arm.ANEGF,
15817		reg: regInfo{
15818			inputs: []inputInfo{
15819				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15820			},
15821			outputs: []outputInfo{
15822				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15823			},
15824		},
15825	},
15826	{
15827		name:   "NEGD",
15828		argLen: 1,
15829		asm:    arm.ANEGD,
15830		reg: regInfo{
15831			inputs: []inputInfo{
15832				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15833			},
15834			outputs: []outputInfo{
15835				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15836			},
15837		},
15838	},
15839	{
15840		name:   "SQRTD",
15841		argLen: 1,
15842		asm:    arm.ASQRTD,
15843		reg: regInfo{
15844			inputs: []inputInfo{
15845				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15846			},
15847			outputs: []outputInfo{
15848				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15849			},
15850		},
15851	},
15852	{
15853		name:   "SQRTF",
15854		argLen: 1,
15855		asm:    arm.ASQRTF,
15856		reg: regInfo{
15857			inputs: []inputInfo{
15858				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15859			},
15860			outputs: []outputInfo{
15861				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15862			},
15863		},
15864	},
15865	{
15866		name:   "ABSD",
15867		argLen: 1,
15868		asm:    arm.AABSD,
15869		reg: regInfo{
15870			inputs: []inputInfo{
15871				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15872			},
15873			outputs: []outputInfo{
15874				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
15875			},
15876		},
15877	},
15878	{
15879		name:   "CLZ",
15880		argLen: 1,
15881		asm:    arm.ACLZ,
15882		reg: regInfo{
15883			inputs: []inputInfo{
15884				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15885			},
15886			outputs: []outputInfo{
15887				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15888			},
15889		},
15890	},
15891	{
15892		name:   "REV",
15893		argLen: 1,
15894		asm:    arm.AREV,
15895		reg: regInfo{
15896			inputs: []inputInfo{
15897				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15898			},
15899			outputs: []outputInfo{
15900				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15901			},
15902		},
15903	},
15904	{
15905		name:   "REV16",
15906		argLen: 1,
15907		asm:    arm.AREV16,
15908		reg: regInfo{
15909			inputs: []inputInfo{
15910				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15911			},
15912			outputs: []outputInfo{
15913				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15914			},
15915		},
15916	},
15917	{
15918		name:   "RBIT",
15919		argLen: 1,
15920		asm:    arm.ARBIT,
15921		reg: regInfo{
15922			inputs: []inputInfo{
15923				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15924			},
15925			outputs: []outputInfo{
15926				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15927			},
15928		},
15929	},
15930	{
15931		name:   "SLL",
15932		argLen: 2,
15933		asm:    arm.ASLL,
15934		reg: regInfo{
15935			inputs: []inputInfo{
15936				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15937				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15938			},
15939			outputs: []outputInfo{
15940				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15941			},
15942		},
15943	},
15944	{
15945		name:    "SLLconst",
15946		auxType: auxInt32,
15947		argLen:  1,
15948		asm:     arm.ASLL,
15949		reg: regInfo{
15950			inputs: []inputInfo{
15951				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15952			},
15953			outputs: []outputInfo{
15954				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15955			},
15956		},
15957	},
15958	{
15959		name:   "SRL",
15960		argLen: 2,
15961		asm:    arm.ASRL,
15962		reg: regInfo{
15963			inputs: []inputInfo{
15964				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15965				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15966			},
15967			outputs: []outputInfo{
15968				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15969			},
15970		},
15971	},
15972	{
15973		name:    "SRLconst",
15974		auxType: auxInt32,
15975		argLen:  1,
15976		asm:     arm.ASRL,
15977		reg: regInfo{
15978			inputs: []inputInfo{
15979				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15980			},
15981			outputs: []outputInfo{
15982				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15983			},
15984		},
15985	},
15986	{
15987		name:   "SRA",
15988		argLen: 2,
15989		asm:    arm.ASRA,
15990		reg: regInfo{
15991			inputs: []inputInfo{
15992				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15993				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
15994			},
15995			outputs: []outputInfo{
15996				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
15997			},
15998		},
15999	},
16000	{
16001		name:    "SRAconst",
16002		auxType: auxInt32,
16003		argLen:  1,
16004		asm:     arm.ASRA,
16005		reg: regInfo{
16006			inputs: []inputInfo{
16007				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16008			},
16009			outputs: []outputInfo{
16010				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16011			},
16012		},
16013	},
16014	{
16015		name:   "SRR",
16016		argLen: 2,
16017		reg: regInfo{
16018			inputs: []inputInfo{
16019				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16020				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16021			},
16022			outputs: []outputInfo{
16023				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16024			},
16025		},
16026	},
16027	{
16028		name:    "SRRconst",
16029		auxType: auxInt32,
16030		argLen:  1,
16031		reg: regInfo{
16032			inputs: []inputInfo{
16033				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16034			},
16035			outputs: []outputInfo{
16036				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16037			},
16038		},
16039	},
16040	{
16041		name:    "ADDshiftLL",
16042		auxType: auxInt32,
16043		argLen:  2,
16044		asm:     arm.AADD,
16045		reg: regInfo{
16046			inputs: []inputInfo{
16047				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16048				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16049			},
16050			outputs: []outputInfo{
16051				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16052			},
16053		},
16054	},
16055	{
16056		name:    "ADDshiftRL",
16057		auxType: auxInt32,
16058		argLen:  2,
16059		asm:     arm.AADD,
16060		reg: regInfo{
16061			inputs: []inputInfo{
16062				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16063				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16064			},
16065			outputs: []outputInfo{
16066				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16067			},
16068		},
16069	},
16070	{
16071		name:    "ADDshiftRA",
16072		auxType: auxInt32,
16073		argLen:  2,
16074		asm:     arm.AADD,
16075		reg: regInfo{
16076			inputs: []inputInfo{
16077				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16078				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16079			},
16080			outputs: []outputInfo{
16081				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16082			},
16083		},
16084	},
16085	{
16086		name:    "SUBshiftLL",
16087		auxType: auxInt32,
16088		argLen:  2,
16089		asm:     arm.ASUB,
16090		reg: regInfo{
16091			inputs: []inputInfo{
16092				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16093				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16094			},
16095			outputs: []outputInfo{
16096				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16097			},
16098		},
16099	},
16100	{
16101		name:    "SUBshiftRL",
16102		auxType: auxInt32,
16103		argLen:  2,
16104		asm:     arm.ASUB,
16105		reg: regInfo{
16106			inputs: []inputInfo{
16107				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16108				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16109			},
16110			outputs: []outputInfo{
16111				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16112			},
16113		},
16114	},
16115	{
16116		name:    "SUBshiftRA",
16117		auxType: auxInt32,
16118		argLen:  2,
16119		asm:     arm.ASUB,
16120		reg: regInfo{
16121			inputs: []inputInfo{
16122				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16123				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16124			},
16125			outputs: []outputInfo{
16126				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16127			},
16128		},
16129	},
16130	{
16131		name:    "RSBshiftLL",
16132		auxType: auxInt32,
16133		argLen:  2,
16134		asm:     arm.ARSB,
16135		reg: regInfo{
16136			inputs: []inputInfo{
16137				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16138				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16139			},
16140			outputs: []outputInfo{
16141				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16142			},
16143		},
16144	},
16145	{
16146		name:    "RSBshiftRL",
16147		auxType: auxInt32,
16148		argLen:  2,
16149		asm:     arm.ARSB,
16150		reg: regInfo{
16151			inputs: []inputInfo{
16152				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16153				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16154			},
16155			outputs: []outputInfo{
16156				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16157			},
16158		},
16159	},
16160	{
16161		name:    "RSBshiftRA",
16162		auxType: auxInt32,
16163		argLen:  2,
16164		asm:     arm.ARSB,
16165		reg: regInfo{
16166			inputs: []inputInfo{
16167				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16168				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16169			},
16170			outputs: []outputInfo{
16171				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16172			},
16173		},
16174	},
16175	{
16176		name:    "ANDshiftLL",
16177		auxType: auxInt32,
16178		argLen:  2,
16179		asm:     arm.AAND,
16180		reg: regInfo{
16181			inputs: []inputInfo{
16182				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16183				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16184			},
16185			outputs: []outputInfo{
16186				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16187			},
16188		},
16189	},
16190	{
16191		name:    "ANDshiftRL",
16192		auxType: auxInt32,
16193		argLen:  2,
16194		asm:     arm.AAND,
16195		reg: regInfo{
16196			inputs: []inputInfo{
16197				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16198				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16199			},
16200			outputs: []outputInfo{
16201				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16202			},
16203		},
16204	},
16205	{
16206		name:    "ANDshiftRA",
16207		auxType: auxInt32,
16208		argLen:  2,
16209		asm:     arm.AAND,
16210		reg: regInfo{
16211			inputs: []inputInfo{
16212				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16213				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16214			},
16215			outputs: []outputInfo{
16216				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16217			},
16218		},
16219	},
16220	{
16221		name:    "ORshiftLL",
16222		auxType: auxInt32,
16223		argLen:  2,
16224		asm:     arm.AORR,
16225		reg: regInfo{
16226			inputs: []inputInfo{
16227				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16228				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16229			},
16230			outputs: []outputInfo{
16231				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16232			},
16233		},
16234	},
16235	{
16236		name:    "ORshiftRL",
16237		auxType: auxInt32,
16238		argLen:  2,
16239		asm:     arm.AORR,
16240		reg: regInfo{
16241			inputs: []inputInfo{
16242				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16243				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16244			},
16245			outputs: []outputInfo{
16246				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16247			},
16248		},
16249	},
16250	{
16251		name:    "ORshiftRA",
16252		auxType: auxInt32,
16253		argLen:  2,
16254		asm:     arm.AORR,
16255		reg: regInfo{
16256			inputs: []inputInfo{
16257				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16258				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16259			},
16260			outputs: []outputInfo{
16261				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16262			},
16263		},
16264	},
16265	{
16266		name:    "XORshiftLL",
16267		auxType: auxInt32,
16268		argLen:  2,
16269		asm:     arm.AEOR,
16270		reg: regInfo{
16271			inputs: []inputInfo{
16272				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16273				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16274			},
16275			outputs: []outputInfo{
16276				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16277			},
16278		},
16279	},
16280	{
16281		name:    "XORshiftRL",
16282		auxType: auxInt32,
16283		argLen:  2,
16284		asm:     arm.AEOR,
16285		reg: regInfo{
16286			inputs: []inputInfo{
16287				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16288				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16289			},
16290			outputs: []outputInfo{
16291				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16292			},
16293		},
16294	},
16295	{
16296		name:    "XORshiftRA",
16297		auxType: auxInt32,
16298		argLen:  2,
16299		asm:     arm.AEOR,
16300		reg: regInfo{
16301			inputs: []inputInfo{
16302				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16303				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16304			},
16305			outputs: []outputInfo{
16306				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16307			},
16308		},
16309	},
16310	{
16311		name:    "XORshiftRR",
16312		auxType: auxInt32,
16313		argLen:  2,
16314		asm:     arm.AEOR,
16315		reg: regInfo{
16316			inputs: []inputInfo{
16317				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16318				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16319			},
16320			outputs: []outputInfo{
16321				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16322			},
16323		},
16324	},
16325	{
16326		name:    "BICshiftLL",
16327		auxType: auxInt32,
16328		argLen:  2,
16329		asm:     arm.ABIC,
16330		reg: regInfo{
16331			inputs: []inputInfo{
16332				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16333				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16334			},
16335			outputs: []outputInfo{
16336				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16337			},
16338		},
16339	},
16340	{
16341		name:    "BICshiftRL",
16342		auxType: auxInt32,
16343		argLen:  2,
16344		asm:     arm.ABIC,
16345		reg: regInfo{
16346			inputs: []inputInfo{
16347				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16348				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16349			},
16350			outputs: []outputInfo{
16351				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16352			},
16353		},
16354	},
16355	{
16356		name:    "BICshiftRA",
16357		auxType: auxInt32,
16358		argLen:  2,
16359		asm:     arm.ABIC,
16360		reg: regInfo{
16361			inputs: []inputInfo{
16362				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16363				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16364			},
16365			outputs: []outputInfo{
16366				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16367			},
16368		},
16369	},
16370	{
16371		name:    "MVNshiftLL",
16372		auxType: auxInt32,
16373		argLen:  1,
16374		asm:     arm.AMVN,
16375		reg: regInfo{
16376			inputs: []inputInfo{
16377				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16378			},
16379			outputs: []outputInfo{
16380				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16381			},
16382		},
16383	},
16384	{
16385		name:    "MVNshiftRL",
16386		auxType: auxInt32,
16387		argLen:  1,
16388		asm:     arm.AMVN,
16389		reg: regInfo{
16390			inputs: []inputInfo{
16391				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16392			},
16393			outputs: []outputInfo{
16394				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16395			},
16396		},
16397	},
16398	{
16399		name:    "MVNshiftRA",
16400		auxType: auxInt32,
16401		argLen:  1,
16402		asm:     arm.AMVN,
16403		reg: regInfo{
16404			inputs: []inputInfo{
16405				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16406			},
16407			outputs: []outputInfo{
16408				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16409			},
16410		},
16411	},
16412	{
16413		name:    "ADCshiftLL",
16414		auxType: auxInt32,
16415		argLen:  3,
16416		asm:     arm.AADC,
16417		reg: regInfo{
16418			inputs: []inputInfo{
16419				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16420				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16421			},
16422			outputs: []outputInfo{
16423				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16424			},
16425		},
16426	},
16427	{
16428		name:    "ADCshiftRL",
16429		auxType: auxInt32,
16430		argLen:  3,
16431		asm:     arm.AADC,
16432		reg: regInfo{
16433			inputs: []inputInfo{
16434				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16435				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16436			},
16437			outputs: []outputInfo{
16438				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16439			},
16440		},
16441	},
16442	{
16443		name:    "ADCshiftRA",
16444		auxType: auxInt32,
16445		argLen:  3,
16446		asm:     arm.AADC,
16447		reg: regInfo{
16448			inputs: []inputInfo{
16449				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16450				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16451			},
16452			outputs: []outputInfo{
16453				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16454			},
16455		},
16456	},
16457	{
16458		name:    "SBCshiftLL",
16459		auxType: auxInt32,
16460		argLen:  3,
16461		asm:     arm.ASBC,
16462		reg: regInfo{
16463			inputs: []inputInfo{
16464				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16465				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16466			},
16467			outputs: []outputInfo{
16468				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16469			},
16470		},
16471	},
16472	{
16473		name:    "SBCshiftRL",
16474		auxType: auxInt32,
16475		argLen:  3,
16476		asm:     arm.ASBC,
16477		reg: regInfo{
16478			inputs: []inputInfo{
16479				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16480				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16481			},
16482			outputs: []outputInfo{
16483				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16484			},
16485		},
16486	},
16487	{
16488		name:    "SBCshiftRA",
16489		auxType: auxInt32,
16490		argLen:  3,
16491		asm:     arm.ASBC,
16492		reg: regInfo{
16493			inputs: []inputInfo{
16494				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16495				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16496			},
16497			outputs: []outputInfo{
16498				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16499			},
16500		},
16501	},
16502	{
16503		name:    "RSCshiftLL",
16504		auxType: auxInt32,
16505		argLen:  3,
16506		asm:     arm.ARSC,
16507		reg: regInfo{
16508			inputs: []inputInfo{
16509				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16510				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16511			},
16512			outputs: []outputInfo{
16513				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16514			},
16515		},
16516	},
16517	{
16518		name:    "RSCshiftRL",
16519		auxType: auxInt32,
16520		argLen:  3,
16521		asm:     arm.ARSC,
16522		reg: regInfo{
16523			inputs: []inputInfo{
16524				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16525				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16526			},
16527			outputs: []outputInfo{
16528				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16529			},
16530		},
16531	},
16532	{
16533		name:    "RSCshiftRA",
16534		auxType: auxInt32,
16535		argLen:  3,
16536		asm:     arm.ARSC,
16537		reg: regInfo{
16538			inputs: []inputInfo{
16539				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16540				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16541			},
16542			outputs: []outputInfo{
16543				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16544			},
16545		},
16546	},
16547	{
16548		name:    "ADDSshiftLL",
16549		auxType: auxInt32,
16550		argLen:  2,
16551		asm:     arm.AADD,
16552		reg: regInfo{
16553			inputs: []inputInfo{
16554				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16555				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16556			},
16557			outputs: []outputInfo{
16558				{1, 0},
16559				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16560			},
16561		},
16562	},
16563	{
16564		name:    "ADDSshiftRL",
16565		auxType: auxInt32,
16566		argLen:  2,
16567		asm:     arm.AADD,
16568		reg: regInfo{
16569			inputs: []inputInfo{
16570				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16571				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16572			},
16573			outputs: []outputInfo{
16574				{1, 0},
16575				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16576			},
16577		},
16578	},
16579	{
16580		name:    "ADDSshiftRA",
16581		auxType: auxInt32,
16582		argLen:  2,
16583		asm:     arm.AADD,
16584		reg: regInfo{
16585			inputs: []inputInfo{
16586				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16587				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16588			},
16589			outputs: []outputInfo{
16590				{1, 0},
16591				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16592			},
16593		},
16594	},
16595	{
16596		name:    "SUBSshiftLL",
16597		auxType: auxInt32,
16598		argLen:  2,
16599		asm:     arm.ASUB,
16600		reg: regInfo{
16601			inputs: []inputInfo{
16602				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16603				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16604			},
16605			outputs: []outputInfo{
16606				{1, 0},
16607				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16608			},
16609		},
16610	},
16611	{
16612		name:    "SUBSshiftRL",
16613		auxType: auxInt32,
16614		argLen:  2,
16615		asm:     arm.ASUB,
16616		reg: regInfo{
16617			inputs: []inputInfo{
16618				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16619				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16620			},
16621			outputs: []outputInfo{
16622				{1, 0},
16623				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16624			},
16625		},
16626	},
16627	{
16628		name:    "SUBSshiftRA",
16629		auxType: auxInt32,
16630		argLen:  2,
16631		asm:     arm.ASUB,
16632		reg: regInfo{
16633			inputs: []inputInfo{
16634				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16635				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16636			},
16637			outputs: []outputInfo{
16638				{1, 0},
16639				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16640			},
16641		},
16642	},
16643	{
16644		name:    "RSBSshiftLL",
16645		auxType: auxInt32,
16646		argLen:  2,
16647		asm:     arm.ARSB,
16648		reg: regInfo{
16649			inputs: []inputInfo{
16650				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16651				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16652			},
16653			outputs: []outputInfo{
16654				{1, 0},
16655				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16656			},
16657		},
16658	},
16659	{
16660		name:    "RSBSshiftRL",
16661		auxType: auxInt32,
16662		argLen:  2,
16663		asm:     arm.ARSB,
16664		reg: regInfo{
16665			inputs: []inputInfo{
16666				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16667				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16668			},
16669			outputs: []outputInfo{
16670				{1, 0},
16671				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16672			},
16673		},
16674	},
16675	{
16676		name:    "RSBSshiftRA",
16677		auxType: auxInt32,
16678		argLen:  2,
16679		asm:     arm.ARSB,
16680		reg: regInfo{
16681			inputs: []inputInfo{
16682				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16683				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
16684			},
16685			outputs: []outputInfo{
16686				{1, 0},
16687				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16688			},
16689		},
16690	},
16691	{
16692		name:   "ADDshiftLLreg",
16693		argLen: 3,
16694		asm:    arm.AADD,
16695		reg: regInfo{
16696			inputs: []inputInfo{
16697				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16698				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16699				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16700			},
16701			outputs: []outputInfo{
16702				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16703			},
16704		},
16705	},
16706	{
16707		name:   "ADDshiftRLreg",
16708		argLen: 3,
16709		asm:    arm.AADD,
16710		reg: regInfo{
16711			inputs: []inputInfo{
16712				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16713				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16714				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16715			},
16716			outputs: []outputInfo{
16717				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16718			},
16719		},
16720	},
16721	{
16722		name:   "ADDshiftRAreg",
16723		argLen: 3,
16724		asm:    arm.AADD,
16725		reg: regInfo{
16726			inputs: []inputInfo{
16727				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16728				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16729				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16730			},
16731			outputs: []outputInfo{
16732				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16733			},
16734		},
16735	},
16736	{
16737		name:   "SUBshiftLLreg",
16738		argLen: 3,
16739		asm:    arm.ASUB,
16740		reg: regInfo{
16741			inputs: []inputInfo{
16742				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16743				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16744				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16745			},
16746			outputs: []outputInfo{
16747				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16748			},
16749		},
16750	},
16751	{
16752		name:   "SUBshiftRLreg",
16753		argLen: 3,
16754		asm:    arm.ASUB,
16755		reg: regInfo{
16756			inputs: []inputInfo{
16757				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16758				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16759				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16760			},
16761			outputs: []outputInfo{
16762				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16763			},
16764		},
16765	},
16766	{
16767		name:   "SUBshiftRAreg",
16768		argLen: 3,
16769		asm:    arm.ASUB,
16770		reg: regInfo{
16771			inputs: []inputInfo{
16772				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16773				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16774				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16775			},
16776			outputs: []outputInfo{
16777				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16778			},
16779		},
16780	},
16781	{
16782		name:   "RSBshiftLLreg",
16783		argLen: 3,
16784		asm:    arm.ARSB,
16785		reg: regInfo{
16786			inputs: []inputInfo{
16787				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16788				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16789				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16790			},
16791			outputs: []outputInfo{
16792				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16793			},
16794		},
16795	},
16796	{
16797		name:   "RSBshiftRLreg",
16798		argLen: 3,
16799		asm:    arm.ARSB,
16800		reg: regInfo{
16801			inputs: []inputInfo{
16802				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16803				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16804				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16805			},
16806			outputs: []outputInfo{
16807				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16808			},
16809		},
16810	},
16811	{
16812		name:   "RSBshiftRAreg",
16813		argLen: 3,
16814		asm:    arm.ARSB,
16815		reg: regInfo{
16816			inputs: []inputInfo{
16817				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16818				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16819				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16820			},
16821			outputs: []outputInfo{
16822				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16823			},
16824		},
16825	},
16826	{
16827		name:   "ANDshiftLLreg",
16828		argLen: 3,
16829		asm:    arm.AAND,
16830		reg: regInfo{
16831			inputs: []inputInfo{
16832				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16833				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16834				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16835			},
16836			outputs: []outputInfo{
16837				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16838			},
16839		},
16840	},
16841	{
16842		name:   "ANDshiftRLreg",
16843		argLen: 3,
16844		asm:    arm.AAND,
16845		reg: regInfo{
16846			inputs: []inputInfo{
16847				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16848				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16849				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16850			},
16851			outputs: []outputInfo{
16852				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16853			},
16854		},
16855	},
16856	{
16857		name:   "ANDshiftRAreg",
16858		argLen: 3,
16859		asm:    arm.AAND,
16860		reg: regInfo{
16861			inputs: []inputInfo{
16862				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16863				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16864				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16865			},
16866			outputs: []outputInfo{
16867				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16868			},
16869		},
16870	},
16871	{
16872		name:   "ORshiftLLreg",
16873		argLen: 3,
16874		asm:    arm.AORR,
16875		reg: regInfo{
16876			inputs: []inputInfo{
16877				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16878				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16879				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16880			},
16881			outputs: []outputInfo{
16882				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16883			},
16884		},
16885	},
16886	{
16887		name:   "ORshiftRLreg",
16888		argLen: 3,
16889		asm:    arm.AORR,
16890		reg: regInfo{
16891			inputs: []inputInfo{
16892				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16893				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16894				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16895			},
16896			outputs: []outputInfo{
16897				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16898			},
16899		},
16900	},
16901	{
16902		name:   "ORshiftRAreg",
16903		argLen: 3,
16904		asm:    arm.AORR,
16905		reg: regInfo{
16906			inputs: []inputInfo{
16907				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16908				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16909				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16910			},
16911			outputs: []outputInfo{
16912				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16913			},
16914		},
16915	},
16916	{
16917		name:   "XORshiftLLreg",
16918		argLen: 3,
16919		asm:    arm.AEOR,
16920		reg: regInfo{
16921			inputs: []inputInfo{
16922				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16923				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16924				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16925			},
16926			outputs: []outputInfo{
16927				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16928			},
16929		},
16930	},
16931	{
16932		name:   "XORshiftRLreg",
16933		argLen: 3,
16934		asm:    arm.AEOR,
16935		reg: regInfo{
16936			inputs: []inputInfo{
16937				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16938				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16939				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16940			},
16941			outputs: []outputInfo{
16942				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16943			},
16944		},
16945	},
16946	{
16947		name:   "XORshiftRAreg",
16948		argLen: 3,
16949		asm:    arm.AEOR,
16950		reg: regInfo{
16951			inputs: []inputInfo{
16952				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16953				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16954				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16955			},
16956			outputs: []outputInfo{
16957				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16958			},
16959		},
16960	},
16961	{
16962		name:   "BICshiftLLreg",
16963		argLen: 3,
16964		asm:    arm.ABIC,
16965		reg: regInfo{
16966			inputs: []inputInfo{
16967				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16968				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16969				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16970			},
16971			outputs: []outputInfo{
16972				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16973			},
16974		},
16975	},
16976	{
16977		name:   "BICshiftRLreg",
16978		argLen: 3,
16979		asm:    arm.ABIC,
16980		reg: regInfo{
16981			inputs: []inputInfo{
16982				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16983				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16984				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16985			},
16986			outputs: []outputInfo{
16987				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16988			},
16989		},
16990	},
16991	{
16992		name:   "BICshiftRAreg",
16993		argLen: 3,
16994		asm:    arm.ABIC,
16995		reg: regInfo{
16996			inputs: []inputInfo{
16997				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16998				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
16999				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17000			},
17001			outputs: []outputInfo{
17002				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17003			},
17004		},
17005	},
17006	{
17007		name:   "MVNshiftLLreg",
17008		argLen: 2,
17009		asm:    arm.AMVN,
17010		reg: regInfo{
17011			inputs: []inputInfo{
17012				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17013				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17014			},
17015			outputs: []outputInfo{
17016				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17017			},
17018		},
17019	},
17020	{
17021		name:   "MVNshiftRLreg",
17022		argLen: 2,
17023		asm:    arm.AMVN,
17024		reg: regInfo{
17025			inputs: []inputInfo{
17026				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17027				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17028			},
17029			outputs: []outputInfo{
17030				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17031			},
17032		},
17033	},
17034	{
17035		name:   "MVNshiftRAreg",
17036		argLen: 2,
17037		asm:    arm.AMVN,
17038		reg: regInfo{
17039			inputs: []inputInfo{
17040				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17041				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17042			},
17043			outputs: []outputInfo{
17044				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17045			},
17046		},
17047	},
17048	{
17049		name:   "ADCshiftLLreg",
17050		argLen: 4,
17051		asm:    arm.AADC,
17052		reg: regInfo{
17053			inputs: []inputInfo{
17054				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17055				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17056				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17057			},
17058			outputs: []outputInfo{
17059				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17060			},
17061		},
17062	},
17063	{
17064		name:   "ADCshiftRLreg",
17065		argLen: 4,
17066		asm:    arm.AADC,
17067		reg: regInfo{
17068			inputs: []inputInfo{
17069				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17070				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17071				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17072			},
17073			outputs: []outputInfo{
17074				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17075			},
17076		},
17077	},
17078	{
17079		name:   "ADCshiftRAreg",
17080		argLen: 4,
17081		asm:    arm.AADC,
17082		reg: regInfo{
17083			inputs: []inputInfo{
17084				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17085				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17086				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17087			},
17088			outputs: []outputInfo{
17089				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17090			},
17091		},
17092	},
17093	{
17094		name:   "SBCshiftLLreg",
17095		argLen: 4,
17096		asm:    arm.ASBC,
17097		reg: regInfo{
17098			inputs: []inputInfo{
17099				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17100				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17101				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17102			},
17103			outputs: []outputInfo{
17104				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17105			},
17106		},
17107	},
17108	{
17109		name:   "SBCshiftRLreg",
17110		argLen: 4,
17111		asm:    arm.ASBC,
17112		reg: regInfo{
17113			inputs: []inputInfo{
17114				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17115				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17116				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17117			},
17118			outputs: []outputInfo{
17119				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17120			},
17121		},
17122	},
17123	{
17124		name:   "SBCshiftRAreg",
17125		argLen: 4,
17126		asm:    arm.ASBC,
17127		reg: regInfo{
17128			inputs: []inputInfo{
17129				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17130				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17131				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17132			},
17133			outputs: []outputInfo{
17134				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17135			},
17136		},
17137	},
17138	{
17139		name:   "RSCshiftLLreg",
17140		argLen: 4,
17141		asm:    arm.ARSC,
17142		reg: regInfo{
17143			inputs: []inputInfo{
17144				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17145				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17146				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17147			},
17148			outputs: []outputInfo{
17149				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17150			},
17151		},
17152	},
17153	{
17154		name:   "RSCshiftRLreg",
17155		argLen: 4,
17156		asm:    arm.ARSC,
17157		reg: regInfo{
17158			inputs: []inputInfo{
17159				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17160				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17161				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17162			},
17163			outputs: []outputInfo{
17164				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17165			},
17166		},
17167	},
17168	{
17169		name:   "RSCshiftRAreg",
17170		argLen: 4,
17171		asm:    arm.ARSC,
17172		reg: regInfo{
17173			inputs: []inputInfo{
17174				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17175				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17176				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17177			},
17178			outputs: []outputInfo{
17179				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17180			},
17181		},
17182	},
17183	{
17184		name:   "ADDSshiftLLreg",
17185		argLen: 3,
17186		asm:    arm.AADD,
17187		reg: regInfo{
17188			inputs: []inputInfo{
17189				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17190				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17191				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17192			},
17193			outputs: []outputInfo{
17194				{1, 0},
17195				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17196			},
17197		},
17198	},
17199	{
17200		name:   "ADDSshiftRLreg",
17201		argLen: 3,
17202		asm:    arm.AADD,
17203		reg: regInfo{
17204			inputs: []inputInfo{
17205				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17206				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17207				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17208			},
17209			outputs: []outputInfo{
17210				{1, 0},
17211				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17212			},
17213		},
17214	},
17215	{
17216		name:   "ADDSshiftRAreg",
17217		argLen: 3,
17218		asm:    arm.AADD,
17219		reg: regInfo{
17220			inputs: []inputInfo{
17221				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17222				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17223				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17224			},
17225			outputs: []outputInfo{
17226				{1, 0},
17227				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17228			},
17229		},
17230	},
17231	{
17232		name:   "SUBSshiftLLreg",
17233		argLen: 3,
17234		asm:    arm.ASUB,
17235		reg: regInfo{
17236			inputs: []inputInfo{
17237				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17238				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17239				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17240			},
17241			outputs: []outputInfo{
17242				{1, 0},
17243				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17244			},
17245		},
17246	},
17247	{
17248		name:   "SUBSshiftRLreg",
17249		argLen: 3,
17250		asm:    arm.ASUB,
17251		reg: regInfo{
17252			inputs: []inputInfo{
17253				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17254				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17255				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17256			},
17257			outputs: []outputInfo{
17258				{1, 0},
17259				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17260			},
17261		},
17262	},
17263	{
17264		name:   "SUBSshiftRAreg",
17265		argLen: 3,
17266		asm:    arm.ASUB,
17267		reg: regInfo{
17268			inputs: []inputInfo{
17269				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17270				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17271				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17272			},
17273			outputs: []outputInfo{
17274				{1, 0},
17275				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17276			},
17277		},
17278	},
17279	{
17280		name:   "RSBSshiftLLreg",
17281		argLen: 3,
17282		asm:    arm.ARSB,
17283		reg: regInfo{
17284			inputs: []inputInfo{
17285				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17286				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17287				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17288			},
17289			outputs: []outputInfo{
17290				{1, 0},
17291				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17292			},
17293		},
17294	},
17295	{
17296		name:   "RSBSshiftRLreg",
17297		argLen: 3,
17298		asm:    arm.ARSB,
17299		reg: regInfo{
17300			inputs: []inputInfo{
17301				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17302				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17303				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17304			},
17305			outputs: []outputInfo{
17306				{1, 0},
17307				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17308			},
17309		},
17310	},
17311	{
17312		name:   "RSBSshiftRAreg",
17313		argLen: 3,
17314		asm:    arm.ARSB,
17315		reg: regInfo{
17316			inputs: []inputInfo{
17317				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17318				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17319				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17320			},
17321			outputs: []outputInfo{
17322				{1, 0},
17323				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17324			},
17325		},
17326	},
17327	{
17328		name:   "CMP",
17329		argLen: 2,
17330		asm:    arm.ACMP,
17331		reg: regInfo{
17332			inputs: []inputInfo{
17333				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17334				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17335			},
17336		},
17337	},
17338	{
17339		name:    "CMPconst",
17340		auxType: auxInt32,
17341		argLen:  1,
17342		asm:     arm.ACMP,
17343		reg: regInfo{
17344			inputs: []inputInfo{
17345				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17346			},
17347		},
17348	},
17349	{
17350		name:        "CMN",
17351		argLen:      2,
17352		commutative: true,
17353		asm:         arm.ACMN,
17354		reg: regInfo{
17355			inputs: []inputInfo{
17356				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17357				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17358			},
17359		},
17360	},
17361	{
17362		name:    "CMNconst",
17363		auxType: auxInt32,
17364		argLen:  1,
17365		asm:     arm.ACMN,
17366		reg: regInfo{
17367			inputs: []inputInfo{
17368				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17369			},
17370		},
17371	},
17372	{
17373		name:        "TST",
17374		argLen:      2,
17375		commutative: true,
17376		asm:         arm.ATST,
17377		reg: regInfo{
17378			inputs: []inputInfo{
17379				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17380				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17381			},
17382		},
17383	},
17384	{
17385		name:    "TSTconst",
17386		auxType: auxInt32,
17387		argLen:  1,
17388		asm:     arm.ATST,
17389		reg: regInfo{
17390			inputs: []inputInfo{
17391				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17392			},
17393		},
17394	},
17395	{
17396		name:        "TEQ",
17397		argLen:      2,
17398		commutative: true,
17399		asm:         arm.ATEQ,
17400		reg: regInfo{
17401			inputs: []inputInfo{
17402				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17403				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17404			},
17405		},
17406	},
17407	{
17408		name:    "TEQconst",
17409		auxType: auxInt32,
17410		argLen:  1,
17411		asm:     arm.ATEQ,
17412		reg: regInfo{
17413			inputs: []inputInfo{
17414				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17415			},
17416		},
17417	},
17418	{
17419		name:   "CMPF",
17420		argLen: 2,
17421		asm:    arm.ACMPF,
17422		reg: regInfo{
17423			inputs: []inputInfo{
17424				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17425				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17426			},
17427		},
17428	},
17429	{
17430		name:   "CMPD",
17431		argLen: 2,
17432		asm:    arm.ACMPD,
17433		reg: regInfo{
17434			inputs: []inputInfo{
17435				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17436				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17437			},
17438		},
17439	},
17440	{
17441		name:    "CMPshiftLL",
17442		auxType: auxInt32,
17443		argLen:  2,
17444		asm:     arm.ACMP,
17445		reg: regInfo{
17446			inputs: []inputInfo{
17447				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17448				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17449			},
17450		},
17451	},
17452	{
17453		name:    "CMPshiftRL",
17454		auxType: auxInt32,
17455		argLen:  2,
17456		asm:     arm.ACMP,
17457		reg: regInfo{
17458			inputs: []inputInfo{
17459				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17460				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17461			},
17462		},
17463	},
17464	{
17465		name:    "CMPshiftRA",
17466		auxType: auxInt32,
17467		argLen:  2,
17468		asm:     arm.ACMP,
17469		reg: regInfo{
17470			inputs: []inputInfo{
17471				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17472				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17473			},
17474		},
17475	},
17476	{
17477		name:    "CMNshiftLL",
17478		auxType: auxInt32,
17479		argLen:  2,
17480		asm:     arm.ACMN,
17481		reg: regInfo{
17482			inputs: []inputInfo{
17483				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17484				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17485			},
17486		},
17487	},
17488	{
17489		name:    "CMNshiftRL",
17490		auxType: auxInt32,
17491		argLen:  2,
17492		asm:     arm.ACMN,
17493		reg: regInfo{
17494			inputs: []inputInfo{
17495				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17496				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17497			},
17498		},
17499	},
17500	{
17501		name:    "CMNshiftRA",
17502		auxType: auxInt32,
17503		argLen:  2,
17504		asm:     arm.ACMN,
17505		reg: regInfo{
17506			inputs: []inputInfo{
17507				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17508				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17509			},
17510		},
17511	},
17512	{
17513		name:    "TSTshiftLL",
17514		auxType: auxInt32,
17515		argLen:  2,
17516		asm:     arm.ATST,
17517		reg: regInfo{
17518			inputs: []inputInfo{
17519				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17520				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17521			},
17522		},
17523	},
17524	{
17525		name:    "TSTshiftRL",
17526		auxType: auxInt32,
17527		argLen:  2,
17528		asm:     arm.ATST,
17529		reg: regInfo{
17530			inputs: []inputInfo{
17531				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17532				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17533			},
17534		},
17535	},
17536	{
17537		name:    "TSTshiftRA",
17538		auxType: auxInt32,
17539		argLen:  2,
17540		asm:     arm.ATST,
17541		reg: regInfo{
17542			inputs: []inputInfo{
17543				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17544				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17545			},
17546		},
17547	},
17548	{
17549		name:    "TEQshiftLL",
17550		auxType: auxInt32,
17551		argLen:  2,
17552		asm:     arm.ATEQ,
17553		reg: regInfo{
17554			inputs: []inputInfo{
17555				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17556				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17557			},
17558		},
17559	},
17560	{
17561		name:    "TEQshiftRL",
17562		auxType: auxInt32,
17563		argLen:  2,
17564		asm:     arm.ATEQ,
17565		reg: regInfo{
17566			inputs: []inputInfo{
17567				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17568				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17569			},
17570		},
17571	},
17572	{
17573		name:    "TEQshiftRA",
17574		auxType: auxInt32,
17575		argLen:  2,
17576		asm:     arm.ATEQ,
17577		reg: regInfo{
17578			inputs: []inputInfo{
17579				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17580				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17581			},
17582		},
17583	},
17584	{
17585		name:   "CMPshiftLLreg",
17586		argLen: 3,
17587		asm:    arm.ACMP,
17588		reg: regInfo{
17589			inputs: []inputInfo{
17590				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17591				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17592				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17593			},
17594		},
17595	},
17596	{
17597		name:   "CMPshiftRLreg",
17598		argLen: 3,
17599		asm:    arm.ACMP,
17600		reg: regInfo{
17601			inputs: []inputInfo{
17602				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17603				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17604				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17605			},
17606		},
17607	},
17608	{
17609		name:   "CMPshiftRAreg",
17610		argLen: 3,
17611		asm:    arm.ACMP,
17612		reg: regInfo{
17613			inputs: []inputInfo{
17614				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17615				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17616				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17617			},
17618		},
17619	},
17620	{
17621		name:   "CMNshiftLLreg",
17622		argLen: 3,
17623		asm:    arm.ACMN,
17624		reg: regInfo{
17625			inputs: []inputInfo{
17626				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17627				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17628				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17629			},
17630		},
17631	},
17632	{
17633		name:   "CMNshiftRLreg",
17634		argLen: 3,
17635		asm:    arm.ACMN,
17636		reg: regInfo{
17637			inputs: []inputInfo{
17638				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17639				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17640				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17641			},
17642		},
17643	},
17644	{
17645		name:   "CMNshiftRAreg",
17646		argLen: 3,
17647		asm:    arm.ACMN,
17648		reg: regInfo{
17649			inputs: []inputInfo{
17650				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17651				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17652				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17653			},
17654		},
17655	},
17656	{
17657		name:   "TSTshiftLLreg",
17658		argLen: 3,
17659		asm:    arm.ATST,
17660		reg: regInfo{
17661			inputs: []inputInfo{
17662				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17663				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17664				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17665			},
17666		},
17667	},
17668	{
17669		name:   "TSTshiftRLreg",
17670		argLen: 3,
17671		asm:    arm.ATST,
17672		reg: regInfo{
17673			inputs: []inputInfo{
17674				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17675				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17676				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17677			},
17678		},
17679	},
17680	{
17681		name:   "TSTshiftRAreg",
17682		argLen: 3,
17683		asm:    arm.ATST,
17684		reg: regInfo{
17685			inputs: []inputInfo{
17686				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17687				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17688				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17689			},
17690		},
17691	},
17692	{
17693		name:   "TEQshiftLLreg",
17694		argLen: 3,
17695		asm:    arm.ATEQ,
17696		reg: regInfo{
17697			inputs: []inputInfo{
17698				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17699				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17700				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17701			},
17702		},
17703	},
17704	{
17705		name:   "TEQshiftRLreg",
17706		argLen: 3,
17707		asm:    arm.ATEQ,
17708		reg: regInfo{
17709			inputs: []inputInfo{
17710				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17711				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17712				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17713			},
17714		},
17715	},
17716	{
17717		name:   "TEQshiftRAreg",
17718		argLen: 3,
17719		asm:    arm.ATEQ,
17720		reg: regInfo{
17721			inputs: []inputInfo{
17722				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17723				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17724				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17725			},
17726		},
17727	},
17728	{
17729		name:   "CMPF0",
17730		argLen: 1,
17731		asm:    arm.ACMPF,
17732		reg: regInfo{
17733			inputs: []inputInfo{
17734				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17735			},
17736		},
17737	},
17738	{
17739		name:   "CMPD0",
17740		argLen: 1,
17741		asm:    arm.ACMPD,
17742		reg: regInfo{
17743			inputs: []inputInfo{
17744				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17745			},
17746		},
17747	},
17748	{
17749		name:              "MOVWconst",
17750		auxType:           auxInt32,
17751		argLen:            0,
17752		rematerializeable: true,
17753		asm:               arm.AMOVW,
17754		reg: regInfo{
17755			outputs: []outputInfo{
17756				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17757			},
17758		},
17759	},
17760	{
17761		name:              "MOVFconst",
17762		auxType:           auxFloat64,
17763		argLen:            0,
17764		rematerializeable: true,
17765		asm:               arm.AMOVF,
17766		reg: regInfo{
17767			outputs: []outputInfo{
17768				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17769			},
17770		},
17771	},
17772	{
17773		name:              "MOVDconst",
17774		auxType:           auxFloat64,
17775		argLen:            0,
17776		rematerializeable: true,
17777		asm:               arm.AMOVD,
17778		reg: regInfo{
17779			outputs: []outputInfo{
17780				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17781			},
17782		},
17783	},
17784	{
17785		name:              "MOVWaddr",
17786		auxType:           auxSymOff,
17787		argLen:            1,
17788		rematerializeable: true,
17789		symEffect:         SymAddr,
17790		asm:               arm.AMOVW,
17791		reg: regInfo{
17792			inputs: []inputInfo{
17793				{0, 4294975488}, // SP SB
17794			},
17795			outputs: []outputInfo{
17796				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17797			},
17798		},
17799	},
17800	{
17801		name:           "MOVBload",
17802		auxType:        auxSymOff,
17803		argLen:         2,
17804		faultOnNilArg0: true,
17805		symEffect:      SymRead,
17806		asm:            arm.AMOVB,
17807		reg: regInfo{
17808			inputs: []inputInfo{
17809				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17810			},
17811			outputs: []outputInfo{
17812				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17813			},
17814		},
17815	},
17816	{
17817		name:           "MOVBUload",
17818		auxType:        auxSymOff,
17819		argLen:         2,
17820		faultOnNilArg0: true,
17821		symEffect:      SymRead,
17822		asm:            arm.AMOVBU,
17823		reg: regInfo{
17824			inputs: []inputInfo{
17825				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17826			},
17827			outputs: []outputInfo{
17828				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17829			},
17830		},
17831	},
17832	{
17833		name:           "MOVHload",
17834		auxType:        auxSymOff,
17835		argLen:         2,
17836		faultOnNilArg0: true,
17837		symEffect:      SymRead,
17838		asm:            arm.AMOVH,
17839		reg: regInfo{
17840			inputs: []inputInfo{
17841				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17842			},
17843			outputs: []outputInfo{
17844				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17845			},
17846		},
17847	},
17848	{
17849		name:           "MOVHUload",
17850		auxType:        auxSymOff,
17851		argLen:         2,
17852		faultOnNilArg0: true,
17853		symEffect:      SymRead,
17854		asm:            arm.AMOVHU,
17855		reg: regInfo{
17856			inputs: []inputInfo{
17857				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17858			},
17859			outputs: []outputInfo{
17860				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17861			},
17862		},
17863	},
17864	{
17865		name:           "MOVWload",
17866		auxType:        auxSymOff,
17867		argLen:         2,
17868		faultOnNilArg0: true,
17869		symEffect:      SymRead,
17870		asm:            arm.AMOVW,
17871		reg: regInfo{
17872			inputs: []inputInfo{
17873				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17874			},
17875			outputs: []outputInfo{
17876				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17877			},
17878		},
17879	},
17880	{
17881		name:           "MOVFload",
17882		auxType:        auxSymOff,
17883		argLen:         2,
17884		faultOnNilArg0: true,
17885		symEffect:      SymRead,
17886		asm:            arm.AMOVF,
17887		reg: regInfo{
17888			inputs: []inputInfo{
17889				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17890			},
17891			outputs: []outputInfo{
17892				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17893			},
17894		},
17895	},
17896	{
17897		name:           "MOVDload",
17898		auxType:        auxSymOff,
17899		argLen:         2,
17900		faultOnNilArg0: true,
17901		symEffect:      SymRead,
17902		asm:            arm.AMOVD,
17903		reg: regInfo{
17904			inputs: []inputInfo{
17905				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17906			},
17907			outputs: []outputInfo{
17908				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17909			},
17910		},
17911	},
17912	{
17913		name:           "MOVBstore",
17914		auxType:        auxSymOff,
17915		argLen:         3,
17916		faultOnNilArg0: true,
17917		symEffect:      SymWrite,
17918		asm:            arm.AMOVB,
17919		reg: regInfo{
17920			inputs: []inputInfo{
17921				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17922				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17923			},
17924		},
17925	},
17926	{
17927		name:           "MOVHstore",
17928		auxType:        auxSymOff,
17929		argLen:         3,
17930		faultOnNilArg0: true,
17931		symEffect:      SymWrite,
17932		asm:            arm.AMOVH,
17933		reg: regInfo{
17934			inputs: []inputInfo{
17935				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17936				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17937			},
17938		},
17939	},
17940	{
17941		name:           "MOVWstore",
17942		auxType:        auxSymOff,
17943		argLen:         3,
17944		faultOnNilArg0: true,
17945		symEffect:      SymWrite,
17946		asm:            arm.AMOVW,
17947		reg: regInfo{
17948			inputs: []inputInfo{
17949				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17950				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17951			},
17952		},
17953	},
17954	{
17955		name:           "MOVFstore",
17956		auxType:        auxSymOff,
17957		argLen:         3,
17958		faultOnNilArg0: true,
17959		symEffect:      SymWrite,
17960		asm:            arm.AMOVF,
17961		reg: regInfo{
17962			inputs: []inputInfo{
17963				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17964				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17965			},
17966		},
17967	},
17968	{
17969		name:           "MOVDstore",
17970		auxType:        auxSymOff,
17971		argLen:         3,
17972		faultOnNilArg0: true,
17973		symEffect:      SymWrite,
17974		asm:            arm.AMOVD,
17975		reg: regInfo{
17976			inputs: []inputInfo{
17977				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17978				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
17979			},
17980		},
17981	},
17982	{
17983		name:   "MOVWloadidx",
17984		argLen: 3,
17985		asm:    arm.AMOVW,
17986		reg: regInfo{
17987			inputs: []inputInfo{
17988				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
17989				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
17990			},
17991			outputs: []outputInfo{
17992				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
17993			},
17994		},
17995	},
17996	{
17997		name:    "MOVWloadshiftLL",
17998		auxType: auxInt32,
17999		argLen:  3,
18000		asm:     arm.AMOVW,
18001		reg: regInfo{
18002			inputs: []inputInfo{
18003				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18004				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18005			},
18006			outputs: []outputInfo{
18007				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18008			},
18009		},
18010	},
18011	{
18012		name:    "MOVWloadshiftRL",
18013		auxType: auxInt32,
18014		argLen:  3,
18015		asm:     arm.AMOVW,
18016		reg: regInfo{
18017			inputs: []inputInfo{
18018				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18019				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18020			},
18021			outputs: []outputInfo{
18022				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18023			},
18024		},
18025	},
18026	{
18027		name:    "MOVWloadshiftRA",
18028		auxType: auxInt32,
18029		argLen:  3,
18030		asm:     arm.AMOVW,
18031		reg: regInfo{
18032			inputs: []inputInfo{
18033				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18034				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18035			},
18036			outputs: []outputInfo{
18037				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18038			},
18039		},
18040	},
18041	{
18042		name:   "MOVBUloadidx",
18043		argLen: 3,
18044		asm:    arm.AMOVBU,
18045		reg: regInfo{
18046			inputs: []inputInfo{
18047				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18048				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18049			},
18050			outputs: []outputInfo{
18051				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18052			},
18053		},
18054	},
18055	{
18056		name:   "MOVBloadidx",
18057		argLen: 3,
18058		asm:    arm.AMOVB,
18059		reg: regInfo{
18060			inputs: []inputInfo{
18061				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18062				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18063			},
18064			outputs: []outputInfo{
18065				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18066			},
18067		},
18068	},
18069	{
18070		name:   "MOVHUloadidx",
18071		argLen: 3,
18072		asm:    arm.AMOVHU,
18073		reg: regInfo{
18074			inputs: []inputInfo{
18075				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18076				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18077			},
18078			outputs: []outputInfo{
18079				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18080			},
18081		},
18082	},
18083	{
18084		name:   "MOVHloadidx",
18085		argLen: 3,
18086		asm:    arm.AMOVH,
18087		reg: regInfo{
18088			inputs: []inputInfo{
18089				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18090				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18091			},
18092			outputs: []outputInfo{
18093				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18094			},
18095		},
18096	},
18097	{
18098		name:   "MOVWstoreidx",
18099		argLen: 4,
18100		asm:    arm.AMOVW,
18101		reg: regInfo{
18102			inputs: []inputInfo{
18103				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18104				{2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18105				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18106			},
18107		},
18108	},
18109	{
18110		name:    "MOVWstoreshiftLL",
18111		auxType: auxInt32,
18112		argLen:  4,
18113		asm:     arm.AMOVW,
18114		reg: regInfo{
18115			inputs: []inputInfo{
18116				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18117				{2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18118				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18119			},
18120		},
18121	},
18122	{
18123		name:    "MOVWstoreshiftRL",
18124		auxType: auxInt32,
18125		argLen:  4,
18126		asm:     arm.AMOVW,
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:    "MOVWstoreshiftRA",
18137		auxType: auxInt32,
18138		argLen:  4,
18139		asm:     arm.AMOVW,
18140		reg: regInfo{
18141			inputs: []inputInfo{
18142				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18143				{2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18144				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18145			},
18146		},
18147	},
18148	{
18149		name:   "MOVBstoreidx",
18150		argLen: 4,
18151		asm:    arm.AMOVB,
18152		reg: regInfo{
18153			inputs: []inputInfo{
18154				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18155				{2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18156				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18157			},
18158		},
18159	},
18160	{
18161		name:   "MOVHstoreidx",
18162		argLen: 4,
18163		asm:    arm.AMOVH,
18164		reg: regInfo{
18165			inputs: []inputInfo{
18166				{1, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18167				{2, 22527},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18168				{0, 4294998015}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14 SB
18169			},
18170		},
18171	},
18172	{
18173		name:   "MOVBreg",
18174		argLen: 1,
18175		asm:    arm.AMOVBS,
18176		reg: regInfo{
18177			inputs: []inputInfo{
18178				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18179			},
18180			outputs: []outputInfo{
18181				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18182			},
18183		},
18184	},
18185	{
18186		name:   "MOVBUreg",
18187		argLen: 1,
18188		asm:    arm.AMOVBU,
18189		reg: regInfo{
18190			inputs: []inputInfo{
18191				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18192			},
18193			outputs: []outputInfo{
18194				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18195			},
18196		},
18197	},
18198	{
18199		name:   "MOVHreg",
18200		argLen: 1,
18201		asm:    arm.AMOVHS,
18202		reg: regInfo{
18203			inputs: []inputInfo{
18204				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18205			},
18206			outputs: []outputInfo{
18207				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18208			},
18209		},
18210	},
18211	{
18212		name:   "MOVHUreg",
18213		argLen: 1,
18214		asm:    arm.AMOVHU,
18215		reg: regInfo{
18216			inputs: []inputInfo{
18217				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18218			},
18219			outputs: []outputInfo{
18220				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18221			},
18222		},
18223	},
18224	{
18225		name:   "MOVWreg",
18226		argLen: 1,
18227		asm:    arm.AMOVW,
18228		reg: regInfo{
18229			inputs: []inputInfo{
18230				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18231			},
18232			outputs: []outputInfo{
18233				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18234			},
18235		},
18236	},
18237	{
18238		name:         "MOVWnop",
18239		argLen:       1,
18240		resultInArg0: true,
18241		reg: regInfo{
18242			inputs: []inputInfo{
18243				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18244			},
18245			outputs: []outputInfo{
18246				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18247			},
18248		},
18249	},
18250	{
18251		name:   "MOVWF",
18252		argLen: 1,
18253		asm:    arm.AMOVWF,
18254		reg: regInfo{
18255			inputs: []inputInfo{
18256				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18257			},
18258			clobbers: 2147483648, // F15
18259			outputs: []outputInfo{
18260				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18261			},
18262		},
18263	},
18264	{
18265		name:   "MOVWD",
18266		argLen: 1,
18267		asm:    arm.AMOVWD,
18268		reg: regInfo{
18269			inputs: []inputInfo{
18270				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18271			},
18272			clobbers: 2147483648, // F15
18273			outputs: []outputInfo{
18274				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18275			},
18276		},
18277	},
18278	{
18279		name:   "MOVWUF",
18280		argLen: 1,
18281		asm:    arm.AMOVWF,
18282		reg: regInfo{
18283			inputs: []inputInfo{
18284				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18285			},
18286			clobbers: 2147483648, // F15
18287			outputs: []outputInfo{
18288				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18289			},
18290		},
18291	},
18292	{
18293		name:   "MOVWUD",
18294		argLen: 1,
18295		asm:    arm.AMOVWD,
18296		reg: regInfo{
18297			inputs: []inputInfo{
18298				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18299			},
18300			clobbers: 2147483648, // F15
18301			outputs: []outputInfo{
18302				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18303			},
18304		},
18305	},
18306	{
18307		name:   "MOVFW",
18308		argLen: 1,
18309		asm:    arm.AMOVFW,
18310		reg: regInfo{
18311			inputs: []inputInfo{
18312				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18313			},
18314			clobbers: 2147483648, // F15
18315			outputs: []outputInfo{
18316				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18317			},
18318		},
18319	},
18320	{
18321		name:   "MOVDW",
18322		argLen: 1,
18323		asm:    arm.AMOVDW,
18324		reg: regInfo{
18325			inputs: []inputInfo{
18326				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18327			},
18328			clobbers: 2147483648, // F15
18329			outputs: []outputInfo{
18330				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18331			},
18332		},
18333	},
18334	{
18335		name:   "MOVFWU",
18336		argLen: 1,
18337		asm:    arm.AMOVFW,
18338		reg: regInfo{
18339			inputs: []inputInfo{
18340				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18341			},
18342			clobbers: 2147483648, // F15
18343			outputs: []outputInfo{
18344				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18345			},
18346		},
18347	},
18348	{
18349		name:   "MOVDWU",
18350		argLen: 1,
18351		asm:    arm.AMOVDW,
18352		reg: regInfo{
18353			inputs: []inputInfo{
18354				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18355			},
18356			clobbers: 2147483648, // F15
18357			outputs: []outputInfo{
18358				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18359			},
18360		},
18361	},
18362	{
18363		name:   "MOVFD",
18364		argLen: 1,
18365		asm:    arm.AMOVFD,
18366		reg: regInfo{
18367			inputs: []inputInfo{
18368				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18369			},
18370			outputs: []outputInfo{
18371				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18372			},
18373		},
18374	},
18375	{
18376		name:   "MOVDF",
18377		argLen: 1,
18378		asm:    arm.AMOVDF,
18379		reg: regInfo{
18380			inputs: []inputInfo{
18381				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18382			},
18383			outputs: []outputInfo{
18384				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18385			},
18386		},
18387	},
18388	{
18389		name:         "CMOVWHSconst",
18390		auxType:      auxInt32,
18391		argLen:       2,
18392		resultInArg0: true,
18393		asm:          arm.AMOVW,
18394		reg: regInfo{
18395			inputs: []inputInfo{
18396				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18397			},
18398			outputs: []outputInfo{
18399				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18400			},
18401		},
18402	},
18403	{
18404		name:         "CMOVWLSconst",
18405		auxType:      auxInt32,
18406		argLen:       2,
18407		resultInArg0: true,
18408		asm:          arm.AMOVW,
18409		reg: regInfo{
18410			inputs: []inputInfo{
18411				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18412			},
18413			outputs: []outputInfo{
18414				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18415			},
18416		},
18417	},
18418	{
18419		name:   "SRAcond",
18420		argLen: 3,
18421		asm:    arm.ASRA,
18422		reg: regInfo{
18423			inputs: []inputInfo{
18424				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18425				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18426			},
18427			outputs: []outputInfo{
18428				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18429			},
18430		},
18431	},
18432	{
18433		name:         "CALLstatic",
18434		auxType:      auxCallOff,
18435		argLen:       1,
18436		clobberFlags: true,
18437		call:         true,
18438		reg: regInfo{
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:         "CALLtail",
18444		auxType:      auxCallOff,
18445		argLen:       1,
18446		clobberFlags: true,
18447		call:         true,
18448		tailCall:     true,
18449		reg: regInfo{
18450			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
18451		},
18452	},
18453	{
18454		name:         "CALLclosure",
18455		auxType:      auxCallOff,
18456		argLen:       3,
18457		clobberFlags: true,
18458		call:         true,
18459		reg: regInfo{
18460			inputs: []inputInfo{
18461				{1, 128},   // R7
18462				{0, 29695}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 SP R14
18463			},
18464			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
18465		},
18466	},
18467	{
18468		name:         "CALLinter",
18469		auxType:      auxCallOff,
18470		argLen:       2,
18471		clobberFlags: true,
18472		call:         true,
18473		reg: regInfo{
18474			inputs: []inputInfo{
18475				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18476			},
18477			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
18478		},
18479	},
18480	{
18481		name:           "LoweredNilCheck",
18482		argLen:         2,
18483		nilCheck:       true,
18484		faultOnNilArg0: true,
18485		reg: regInfo{
18486			inputs: []inputInfo{
18487				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
18488			},
18489		},
18490	},
18491	{
18492		name:   "Equal",
18493		argLen: 1,
18494		reg: regInfo{
18495			outputs: []outputInfo{
18496				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18497			},
18498		},
18499	},
18500	{
18501		name:   "NotEqual",
18502		argLen: 1,
18503		reg: regInfo{
18504			outputs: []outputInfo{
18505				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18506			},
18507		},
18508	},
18509	{
18510		name:   "LessThan",
18511		argLen: 1,
18512		reg: regInfo{
18513			outputs: []outputInfo{
18514				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18515			},
18516		},
18517	},
18518	{
18519		name:   "LessEqual",
18520		argLen: 1,
18521		reg: regInfo{
18522			outputs: []outputInfo{
18523				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18524			},
18525		},
18526	},
18527	{
18528		name:   "GreaterThan",
18529		argLen: 1,
18530		reg: regInfo{
18531			outputs: []outputInfo{
18532				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18533			},
18534		},
18535	},
18536	{
18537		name:   "GreaterEqual",
18538		argLen: 1,
18539		reg: regInfo{
18540			outputs: []outputInfo{
18541				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18542			},
18543		},
18544	},
18545	{
18546		name:   "LessThanU",
18547		argLen: 1,
18548		reg: regInfo{
18549			outputs: []outputInfo{
18550				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18551			},
18552		},
18553	},
18554	{
18555		name:   "LessEqualU",
18556		argLen: 1,
18557		reg: regInfo{
18558			outputs: []outputInfo{
18559				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18560			},
18561		},
18562	},
18563	{
18564		name:   "GreaterThanU",
18565		argLen: 1,
18566		reg: regInfo{
18567			outputs: []outputInfo{
18568				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18569			},
18570		},
18571	},
18572	{
18573		name:   "GreaterEqualU",
18574		argLen: 1,
18575		reg: regInfo{
18576			outputs: []outputInfo{
18577				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18578			},
18579		},
18580	},
18581	{
18582		name:           "DUFFZERO",
18583		auxType:        auxInt64,
18584		argLen:         3,
18585		faultOnNilArg0: true,
18586		reg: regInfo{
18587			inputs: []inputInfo{
18588				{0, 2}, // R1
18589				{1, 1}, // R0
18590			},
18591			clobbers: 20482, // R1 R12 R14
18592		},
18593	},
18594	{
18595		name:           "DUFFCOPY",
18596		auxType:        auxInt64,
18597		argLen:         3,
18598		faultOnNilArg0: true,
18599		faultOnNilArg1: true,
18600		reg: regInfo{
18601			inputs: []inputInfo{
18602				{0, 4}, // R2
18603				{1, 2}, // R1
18604			},
18605			clobbers: 20487, // R0 R1 R2 R12 R14
18606		},
18607	},
18608	{
18609		name:           "LoweredZero",
18610		auxType:        auxInt64,
18611		argLen:         4,
18612		clobberFlags:   true,
18613		faultOnNilArg0: true,
18614		reg: regInfo{
18615			inputs: []inputInfo{
18616				{0, 2},     // R1
18617				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18618				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18619			},
18620			clobbers: 2, // R1
18621		},
18622	},
18623	{
18624		name:           "LoweredMove",
18625		auxType:        auxInt64,
18626		argLen:         4,
18627		clobberFlags:   true,
18628		faultOnNilArg0: true,
18629		faultOnNilArg1: true,
18630		reg: regInfo{
18631			inputs: []inputInfo{
18632				{0, 4},     // R2
18633				{1, 2},     // R1
18634				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18635			},
18636			clobbers: 6, // R1 R2
18637		},
18638	},
18639	{
18640		name:      "LoweredGetClosurePtr",
18641		argLen:    0,
18642		zeroWidth: true,
18643		reg: regInfo{
18644			outputs: []outputInfo{
18645				{0, 128}, // R7
18646			},
18647		},
18648	},
18649	{
18650		name:              "LoweredGetCallerSP",
18651		argLen:            1,
18652		rematerializeable: true,
18653		reg: regInfo{
18654			outputs: []outputInfo{
18655				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18656			},
18657		},
18658	},
18659	{
18660		name:              "LoweredGetCallerPC",
18661		argLen:            0,
18662		rematerializeable: true,
18663		reg: regInfo{
18664			outputs: []outputInfo{
18665				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
18666			},
18667		},
18668	},
18669	{
18670		name:    "LoweredPanicBoundsA",
18671		auxType: auxInt64,
18672		argLen:  3,
18673		call:    true,
18674		reg: regInfo{
18675			inputs: []inputInfo{
18676				{0, 4}, // R2
18677				{1, 8}, // R3
18678			},
18679		},
18680	},
18681	{
18682		name:    "LoweredPanicBoundsB",
18683		auxType: auxInt64,
18684		argLen:  3,
18685		call:    true,
18686		reg: regInfo{
18687			inputs: []inputInfo{
18688				{0, 2}, // R1
18689				{1, 4}, // R2
18690			},
18691		},
18692	},
18693	{
18694		name:    "LoweredPanicBoundsC",
18695		auxType: auxInt64,
18696		argLen:  3,
18697		call:    true,
18698		reg: regInfo{
18699			inputs: []inputInfo{
18700				{0, 1}, // R0
18701				{1, 2}, // R1
18702			},
18703		},
18704	},
18705	{
18706		name:    "LoweredPanicExtendA",
18707		auxType: auxInt64,
18708		argLen:  4,
18709		call:    true,
18710		reg: regInfo{
18711			inputs: []inputInfo{
18712				{0, 16}, // R4
18713				{1, 4},  // R2
18714				{2, 8},  // R3
18715			},
18716		},
18717	},
18718	{
18719		name:    "LoweredPanicExtendB",
18720		auxType: auxInt64,
18721		argLen:  4,
18722		call:    true,
18723		reg: regInfo{
18724			inputs: []inputInfo{
18725				{0, 16}, // R4
18726				{1, 2},  // R1
18727				{2, 4},  // R2
18728			},
18729		},
18730	},
18731	{
18732		name:    "LoweredPanicExtendC",
18733		auxType: auxInt64,
18734		argLen:  4,
18735		call:    true,
18736		reg: regInfo{
18737			inputs: []inputInfo{
18738				{0, 16}, // R4
18739				{1, 1},  // R0
18740				{2, 2},  // R1
18741			},
18742		},
18743	},
18744	{
18745		name:    "FlagConstant",
18746		auxType: auxFlagConstant,
18747		argLen:  0,
18748		reg:     regInfo{},
18749	},
18750	{
18751		name:   "InvertFlags",
18752		argLen: 1,
18753		reg:    regInfo{},
18754	},
18755	{
18756		name:         "LoweredWB",
18757		auxType:      auxInt64,
18758		argLen:       1,
18759		clobberFlags: true,
18760		reg: regInfo{
18761			clobbers: 4294922240, // R12 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
18762			outputs: []outputInfo{
18763				{0, 256}, // R8
18764			},
18765		},
18766	},
18767
18768	{
18769		name:        "ADCSflags",
18770		argLen:      3,
18771		commutative: true,
18772		asm:         arm64.AADCS,
18773		reg: regInfo{
18774			inputs: []inputInfo{
18775				{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
18776				{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
18777			},
18778			outputs: []outputInfo{
18779				{1, 0},
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:   "ADCzerocarry",
18786		argLen: 1,
18787		asm:    arm64.AADC,
18788		reg: regInfo{
18789			outputs: []outputInfo{
18790				{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
18791			},
18792		},
18793	},
18794	{
18795		name:        "ADD",
18796		argLen:      2,
18797		commutative: true,
18798		asm:         arm64.AADD,
18799		reg: regInfo{
18800			inputs: []inputInfo{
18801				{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
18802				{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
18803			},
18804			outputs: []outputInfo{
18805				{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
18806			},
18807		},
18808	},
18809	{
18810		name:    "ADDconst",
18811		auxType: auxInt64,
18812		argLen:  1,
18813		asm:     arm64.AADD,
18814		reg: regInfo{
18815			inputs: []inputInfo{
18816				{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
18817			},
18818			outputs: []outputInfo{
18819				{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
18820			},
18821		},
18822	},
18823	{
18824		name:    "ADDSconstflags",
18825		auxType: auxInt64,
18826		argLen:  1,
18827		asm:     arm64.AADDS,
18828		reg: regInfo{
18829			inputs: []inputInfo{
18830				{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
18831			},
18832			outputs: []outputInfo{
18833				{1, 0},
18834				{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
18835			},
18836		},
18837	},
18838	{
18839		name:        "ADDSflags",
18840		argLen:      2,
18841		commutative: true,
18842		asm:         arm64.AADDS,
18843		reg: regInfo{
18844			inputs: []inputInfo{
18845				{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
18846				{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
18847			},
18848			outputs: []outputInfo{
18849				{1, 0},
18850				{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
18851			},
18852		},
18853	},
18854	{
18855		name:   "SUB",
18856		argLen: 2,
18857		asm:    arm64.ASUB,
18858		reg: regInfo{
18859			inputs: []inputInfo{
18860				{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
18861				{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
18862			},
18863			outputs: []outputInfo{
18864				{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
18865			},
18866		},
18867	},
18868	{
18869		name:    "SUBconst",
18870		auxType: auxInt64,
18871		argLen:  1,
18872		asm:     arm64.ASUB,
18873		reg: regInfo{
18874			inputs: []inputInfo{
18875				{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
18876			},
18877			outputs: []outputInfo{
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			},
18880		},
18881	},
18882	{
18883		name:   "SBCSflags",
18884		argLen: 3,
18885		asm:    arm64.ASBCS,
18886		reg: regInfo{
18887			inputs: []inputInfo{
18888				{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
18889				{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
18890			},
18891			outputs: []outputInfo{
18892				{1, 0},
18893				{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
18894			},
18895		},
18896	},
18897	{
18898		name:   "SUBSflags",
18899		argLen: 2,
18900		asm:    arm64.ASUBS,
18901		reg: regInfo{
18902			inputs: []inputInfo{
18903				{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
18904				{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
18905			},
18906			outputs: []outputInfo{
18907				{1, 0},
18908				{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
18909			},
18910		},
18911	},
18912	{
18913		name:        "MUL",
18914		argLen:      2,
18915		commutative: true,
18916		asm:         arm64.AMUL,
18917		reg: regInfo{
18918			inputs: []inputInfo{
18919				{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
18920				{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
18921			},
18922			outputs: []outputInfo{
18923				{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
18924			},
18925		},
18926	},
18927	{
18928		name:        "MULW",
18929		argLen:      2,
18930		commutative: true,
18931		asm:         arm64.AMULW,
18932		reg: regInfo{
18933			inputs: []inputInfo{
18934				{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
18935				{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
18936			},
18937			outputs: []outputInfo{
18938				{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
18939			},
18940		},
18941	},
18942	{
18943		name:        "MNEG",
18944		argLen:      2,
18945		commutative: true,
18946		asm:         arm64.AMNEG,
18947		reg: regInfo{
18948			inputs: []inputInfo{
18949				{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
18950				{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
18951			},
18952			outputs: []outputInfo{
18953				{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
18954			},
18955		},
18956	},
18957	{
18958		name:        "MNEGW",
18959		argLen:      2,
18960		commutative: true,
18961		asm:         arm64.AMNEGW,
18962		reg: regInfo{
18963			inputs: []inputInfo{
18964				{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
18965				{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
18966			},
18967			outputs: []outputInfo{
18968				{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
18969			},
18970		},
18971	},
18972	{
18973		name:        "MULH",
18974		argLen:      2,
18975		commutative: true,
18976		asm:         arm64.ASMULH,
18977		reg: regInfo{
18978			inputs: []inputInfo{
18979				{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
18980				{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
18981			},
18982			outputs: []outputInfo{
18983				{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
18984			},
18985		},
18986	},
18987	{
18988		name:        "UMULH",
18989		argLen:      2,
18990		commutative: true,
18991		asm:         arm64.AUMULH,
18992		reg: regInfo{
18993			inputs: []inputInfo{
18994				{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
18995				{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
18996			},
18997			outputs: []outputInfo{
18998				{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
18999			},
19000		},
19001	},
19002	{
19003		name:        "MULL",
19004		argLen:      2,
19005		commutative: true,
19006		asm:         arm64.ASMULL,
19007		reg: regInfo{
19008			inputs: []inputInfo{
19009				{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
19010				{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
19011			},
19012			outputs: []outputInfo{
19013				{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
19014			},
19015		},
19016	},
19017	{
19018		name:        "UMULL",
19019		argLen:      2,
19020		commutative: true,
19021		asm:         arm64.AUMULL,
19022		reg: regInfo{
19023			inputs: []inputInfo{
19024				{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
19025				{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
19026			},
19027			outputs: []outputInfo{
19028				{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
19029			},
19030		},
19031	},
19032	{
19033		name:   "DIV",
19034		argLen: 2,
19035		asm:    arm64.ASDIV,
19036		reg: regInfo{
19037			inputs: []inputInfo{
19038				{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
19039				{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
19040			},
19041			outputs: []outputInfo{
19042				{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
19043			},
19044		},
19045	},
19046	{
19047		name:   "UDIV",
19048		argLen: 2,
19049		asm:    arm64.AUDIV,
19050		reg: regInfo{
19051			inputs: []inputInfo{
19052				{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
19053				{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
19054			},
19055			outputs: []outputInfo{
19056				{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
19057			},
19058		},
19059	},
19060	{
19061		name:   "DIVW",
19062		argLen: 2,
19063		asm:    arm64.ASDIVW,
19064		reg: regInfo{
19065			inputs: []inputInfo{
19066				{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
19067				{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
19068			},
19069			outputs: []outputInfo{
19070				{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
19071			},
19072		},
19073	},
19074	{
19075		name:   "UDIVW",
19076		argLen: 2,
19077		asm:    arm64.AUDIVW,
19078		reg: regInfo{
19079			inputs: []inputInfo{
19080				{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
19081				{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
19082			},
19083			outputs: []outputInfo{
19084				{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
19085			},
19086		},
19087	},
19088	{
19089		name:   "MOD",
19090		argLen: 2,
19091		asm:    arm64.AREM,
19092		reg: regInfo{
19093			inputs: []inputInfo{
19094				{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
19095				{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
19096			},
19097			outputs: []outputInfo{
19098				{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
19099			},
19100		},
19101	},
19102	{
19103		name:   "UMOD",
19104		argLen: 2,
19105		asm:    arm64.AUREM,
19106		reg: regInfo{
19107			inputs: []inputInfo{
19108				{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
19109				{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
19110			},
19111			outputs: []outputInfo{
19112				{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
19113			},
19114		},
19115	},
19116	{
19117		name:   "MODW",
19118		argLen: 2,
19119		asm:    arm64.AREMW,
19120		reg: regInfo{
19121			inputs: []inputInfo{
19122				{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
19123				{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
19124			},
19125			outputs: []outputInfo{
19126				{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
19127			},
19128		},
19129	},
19130	{
19131		name:   "UMODW",
19132		argLen: 2,
19133		asm:    arm64.AUREMW,
19134		reg: regInfo{
19135			inputs: []inputInfo{
19136				{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
19137				{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
19138			},
19139			outputs: []outputInfo{
19140				{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
19141			},
19142		},
19143	},
19144	{
19145		name:        "FADDS",
19146		argLen:      2,
19147		commutative: true,
19148		asm:         arm64.AFADDS,
19149		reg: regInfo{
19150			inputs: []inputInfo{
19151				{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
19152				{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
19153			},
19154			outputs: []outputInfo{
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			},
19157		},
19158	},
19159	{
19160		name:        "FADDD",
19161		argLen:      2,
19162		commutative: true,
19163		asm:         arm64.AFADDD,
19164		reg: regInfo{
19165			inputs: []inputInfo{
19166				{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
19167				{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
19168			},
19169			outputs: []outputInfo{
19170				{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
19171			},
19172		},
19173	},
19174	{
19175		name:   "FSUBS",
19176		argLen: 2,
19177		asm:    arm64.AFSUBS,
19178		reg: regInfo{
19179			inputs: []inputInfo{
19180				{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
19181				{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
19182			},
19183			outputs: []outputInfo{
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			},
19186		},
19187	},
19188	{
19189		name:   "FSUBD",
19190		argLen: 2,
19191		asm:    arm64.AFSUBD,
19192		reg: regInfo{
19193			inputs: []inputInfo{
19194				{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
19195				{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
19196			},
19197			outputs: []outputInfo{
19198				{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
19199			},
19200		},
19201	},
19202	{
19203		name:        "FMULS",
19204		argLen:      2,
19205		commutative: true,
19206		asm:         arm64.AFMULS,
19207		reg: regInfo{
19208			inputs: []inputInfo{
19209				{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
19210				{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
19211			},
19212			outputs: []outputInfo{
19213				{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
19214			},
19215		},
19216	},
19217	{
19218		name:        "FMULD",
19219		argLen:      2,
19220		commutative: true,
19221		asm:         arm64.AFMULD,
19222		reg: regInfo{
19223			inputs: []inputInfo{
19224				{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
19225				{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
19226			},
19227			outputs: []outputInfo{
19228				{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
19229			},
19230		},
19231	},
19232	{
19233		name:        "FNMULS",
19234		argLen:      2,
19235		commutative: true,
19236		asm:         arm64.AFNMULS,
19237		reg: regInfo{
19238			inputs: []inputInfo{
19239				{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
19240				{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
19241			},
19242			outputs: []outputInfo{
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			},
19245		},
19246	},
19247	{
19248		name:        "FNMULD",
19249		argLen:      2,
19250		commutative: true,
19251		asm:         arm64.AFNMULD,
19252		reg: regInfo{
19253			inputs: []inputInfo{
19254				{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
19255				{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
19256			},
19257			outputs: []outputInfo{
19258				{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
19259			},
19260		},
19261	},
19262	{
19263		name:   "FDIVS",
19264		argLen: 2,
19265		asm:    arm64.AFDIVS,
19266		reg: regInfo{
19267			inputs: []inputInfo{
19268				{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
19269				{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
19270			},
19271			outputs: []outputInfo{
19272				{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
19273			},
19274		},
19275	},
19276	{
19277		name:   "FDIVD",
19278		argLen: 2,
19279		asm:    arm64.AFDIVD,
19280		reg: regInfo{
19281			inputs: []inputInfo{
19282				{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
19283				{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
19284			},
19285			outputs: []outputInfo{
19286				{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
19287			},
19288		},
19289	},
19290	{
19291		name:        "AND",
19292		argLen:      2,
19293		commutative: true,
19294		asm:         arm64.AAND,
19295		reg: regInfo{
19296			inputs: []inputInfo{
19297				{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
19298				{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
19299			},
19300			outputs: []outputInfo{
19301				{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
19302			},
19303		},
19304	},
19305	{
19306		name:    "ANDconst",
19307		auxType: auxInt64,
19308		argLen:  1,
19309		asm:     arm64.AAND,
19310		reg: regInfo{
19311			inputs: []inputInfo{
19312				{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
19313			},
19314			outputs: []outputInfo{
19315				{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
19316			},
19317		},
19318	},
19319	{
19320		name:        "OR",
19321		argLen:      2,
19322		commutative: true,
19323		asm:         arm64.AORR,
19324		reg: regInfo{
19325			inputs: []inputInfo{
19326				{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
19327				{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
19328			},
19329			outputs: []outputInfo{
19330				{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
19331			},
19332		},
19333	},
19334	{
19335		name:    "ORconst",
19336		auxType: auxInt64,
19337		argLen:  1,
19338		asm:     arm64.AORR,
19339		reg: regInfo{
19340			inputs: []inputInfo{
19341				{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
19342			},
19343			outputs: []outputInfo{
19344				{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
19345			},
19346		},
19347	},
19348	{
19349		name:        "XOR",
19350		argLen:      2,
19351		commutative: true,
19352		asm:         arm64.AEOR,
19353		reg: regInfo{
19354			inputs: []inputInfo{
19355				{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
19356				{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
19357			},
19358			outputs: []outputInfo{
19359				{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
19360			},
19361		},
19362	},
19363	{
19364		name:    "XORconst",
19365		auxType: auxInt64,
19366		argLen:  1,
19367		asm:     arm64.AEOR,
19368		reg: regInfo{
19369			inputs: []inputInfo{
19370				{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
19371			},
19372			outputs: []outputInfo{
19373				{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
19374			},
19375		},
19376	},
19377	{
19378		name:   "BIC",
19379		argLen: 2,
19380		asm:    arm64.ABIC,
19381		reg: regInfo{
19382			inputs: []inputInfo{
19383				{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
19384				{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
19385			},
19386			outputs: []outputInfo{
19387				{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
19388			},
19389		},
19390	},
19391	{
19392		name:   "EON",
19393		argLen: 2,
19394		asm:    arm64.AEON,
19395		reg: regInfo{
19396			inputs: []inputInfo{
19397				{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
19398				{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
19399			},
19400			outputs: []outputInfo{
19401				{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
19402			},
19403		},
19404	},
19405	{
19406		name:   "ORN",
19407		argLen: 2,
19408		asm:    arm64.AORN,
19409		reg: regInfo{
19410			inputs: []inputInfo{
19411				{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
19412				{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
19413			},
19414			outputs: []outputInfo{
19415				{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
19416			},
19417		},
19418	},
19419	{
19420		name:   "MVN",
19421		argLen: 1,
19422		asm:    arm64.AMVN,
19423		reg: regInfo{
19424			inputs: []inputInfo{
19425				{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
19426			},
19427			outputs: []outputInfo{
19428				{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
19429			},
19430		},
19431	},
19432	{
19433		name:   "NEG",
19434		argLen: 1,
19435		asm:    arm64.ANEG,
19436		reg: regInfo{
19437			inputs: []inputInfo{
19438				{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
19439			},
19440			outputs: []outputInfo{
19441				{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
19442			},
19443		},
19444	},
19445	{
19446		name:   "NEGSflags",
19447		argLen: 1,
19448		asm:    arm64.ANEGS,
19449		reg: regInfo{
19450			inputs: []inputInfo{
19451				{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
19452			},
19453			outputs: []outputInfo{
19454				{1, 0},
19455				{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
19456			},
19457		},
19458	},
19459	{
19460		name:   "NGCzerocarry",
19461		argLen: 1,
19462		asm:    arm64.ANGC,
19463		reg: regInfo{
19464			outputs: []outputInfo{
19465				{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
19466			},
19467		},
19468	},
19469	{
19470		name:   "FABSD",
19471		argLen: 1,
19472		asm:    arm64.AFABSD,
19473		reg: regInfo{
19474			inputs: []inputInfo{
19475				{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
19476			},
19477			outputs: []outputInfo{
19478				{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
19479			},
19480		},
19481	},
19482	{
19483		name:   "FNEGS",
19484		argLen: 1,
19485		asm:    arm64.AFNEGS,
19486		reg: regInfo{
19487			inputs: []inputInfo{
19488				{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
19489			},
19490			outputs: []outputInfo{
19491				{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
19492			},
19493		},
19494	},
19495	{
19496		name:   "FNEGD",
19497		argLen: 1,
19498		asm:    arm64.AFNEGD,
19499		reg: regInfo{
19500			inputs: []inputInfo{
19501				{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
19502			},
19503			outputs: []outputInfo{
19504				{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
19505			},
19506		},
19507	},
19508	{
19509		name:   "FSQRTD",
19510		argLen: 1,
19511		asm:    arm64.AFSQRTD,
19512		reg: regInfo{
19513			inputs: []inputInfo{
19514				{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
19515			},
19516			outputs: []outputInfo{
19517				{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
19518			},
19519		},
19520	},
19521	{
19522		name:   "FSQRTS",
19523		argLen: 1,
19524		asm:    arm64.AFSQRTS,
19525		reg: regInfo{
19526			inputs: []inputInfo{
19527				{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
19528			},
19529			outputs: []outputInfo{
19530				{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
19531			},
19532		},
19533	},
19534	{
19535		name:   "FMIND",
19536		argLen: 2,
19537		asm:    arm64.AFMIND,
19538		reg: regInfo{
19539			inputs: []inputInfo{
19540				{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
19541				{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
19542			},
19543			outputs: []outputInfo{
19544				{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
19545			},
19546		},
19547	},
19548	{
19549		name:   "FMINS",
19550		argLen: 2,
19551		asm:    arm64.AFMINS,
19552		reg: regInfo{
19553			inputs: []inputInfo{
19554				{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
19555				{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
19556			},
19557			outputs: []outputInfo{
19558				{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
19559			},
19560		},
19561	},
19562	{
19563		name:   "FMAXD",
19564		argLen: 2,
19565		asm:    arm64.AFMAXD,
19566		reg: regInfo{
19567			inputs: []inputInfo{
19568				{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
19569				{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
19570			},
19571			outputs: []outputInfo{
19572				{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
19573			},
19574		},
19575	},
19576	{
19577		name:   "FMAXS",
19578		argLen: 2,
19579		asm:    arm64.AFMAXS,
19580		reg: regInfo{
19581			inputs: []inputInfo{
19582				{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
19583				{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
19584			},
19585			outputs: []outputInfo{
19586				{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
19587			},
19588		},
19589	},
19590	{
19591		name:   "REV",
19592		argLen: 1,
19593		asm:    arm64.AREV,
19594		reg: regInfo{
19595			inputs: []inputInfo{
19596				{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
19597			},
19598			outputs: []outputInfo{
19599				{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
19600			},
19601		},
19602	},
19603	{
19604		name:   "REVW",
19605		argLen: 1,
19606		asm:    arm64.AREVW,
19607		reg: regInfo{
19608			inputs: []inputInfo{
19609				{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
19610			},
19611			outputs: []outputInfo{
19612				{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
19613			},
19614		},
19615	},
19616	{
19617		name:   "REV16",
19618		argLen: 1,
19619		asm:    arm64.AREV16,
19620		reg: regInfo{
19621			inputs: []inputInfo{
19622				{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
19623			},
19624			outputs: []outputInfo{
19625				{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
19626			},
19627		},
19628	},
19629	{
19630		name:   "REV16W",
19631		argLen: 1,
19632		asm:    arm64.AREV16W,
19633		reg: regInfo{
19634			inputs: []inputInfo{
19635				{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
19636			},
19637			outputs: []outputInfo{
19638				{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
19639			},
19640		},
19641	},
19642	{
19643		name:   "RBIT",
19644		argLen: 1,
19645		asm:    arm64.ARBIT,
19646		reg: regInfo{
19647			inputs: []inputInfo{
19648				{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
19649			},
19650			outputs: []outputInfo{
19651				{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
19652			},
19653		},
19654	},
19655	{
19656		name:   "RBITW",
19657		argLen: 1,
19658		asm:    arm64.ARBITW,
19659		reg: regInfo{
19660			inputs: []inputInfo{
19661				{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
19662			},
19663			outputs: []outputInfo{
19664				{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
19665			},
19666		},
19667	},
19668	{
19669		name:   "CLZ",
19670		argLen: 1,
19671		asm:    arm64.ACLZ,
19672		reg: regInfo{
19673			inputs: []inputInfo{
19674				{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
19675			},
19676			outputs: []outputInfo{
19677				{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
19678			},
19679		},
19680	},
19681	{
19682		name:   "CLZW",
19683		argLen: 1,
19684		asm:    arm64.ACLZW,
19685		reg: regInfo{
19686			inputs: []inputInfo{
19687				{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
19688			},
19689			outputs: []outputInfo{
19690				{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
19691			},
19692		},
19693	},
19694	{
19695		name:   "VCNT",
19696		argLen: 1,
19697		asm:    arm64.AVCNT,
19698		reg: regInfo{
19699			inputs: []inputInfo{
19700				{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
19701			},
19702			outputs: []outputInfo{
19703				{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
19704			},
19705		},
19706	},
19707	{
19708		name:   "VUADDLV",
19709		argLen: 1,
19710		asm:    arm64.AVUADDLV,
19711		reg: regInfo{
19712			inputs: []inputInfo{
19713				{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
19714			},
19715			outputs: []outputInfo{
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		},
19719	},
19720	{
19721		name:         "LoweredRound32F",
19722		argLen:       1,
19723		resultInArg0: true,
19724		zeroWidth:    true,
19725		reg: regInfo{
19726			inputs: []inputInfo{
19727				{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
19728			},
19729			outputs: []outputInfo{
19730				{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
19731			},
19732		},
19733	},
19734	{
19735		name:         "LoweredRound64F",
19736		argLen:       1,
19737		resultInArg0: true,
19738		zeroWidth:    true,
19739		reg: regInfo{
19740			inputs: []inputInfo{
19741				{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
19742			},
19743			outputs: []outputInfo{
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			},
19746		},
19747	},
19748	{
19749		name:   "FMADDS",
19750		argLen: 3,
19751		asm:    arm64.AFMADDS,
19752		reg: regInfo{
19753			inputs: []inputInfo{
19754				{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
19755				{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
19756				{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
19757			},
19758			outputs: []outputInfo{
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			},
19761		},
19762	},
19763	{
19764		name:   "FMADDD",
19765		argLen: 3,
19766		asm:    arm64.AFMADDD,
19767		reg: regInfo{
19768			inputs: []inputInfo{
19769				{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
19770				{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
19771				{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
19772			},
19773			outputs: []outputInfo{
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			},
19776		},
19777	},
19778	{
19779		name:   "FNMADDS",
19780		argLen: 3,
19781		asm:    arm64.AFNMADDS,
19782		reg: regInfo{
19783			inputs: []inputInfo{
19784				{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
19785				{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
19786				{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
19787			},
19788			outputs: []outputInfo{
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			},
19791		},
19792	},
19793	{
19794		name:   "FNMADDD",
19795		argLen: 3,
19796		asm:    arm64.AFNMADDD,
19797		reg: regInfo{
19798			inputs: []inputInfo{
19799				{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
19800				{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
19801				{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
19802			},
19803			outputs: []outputInfo{
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			},
19806		},
19807	},
19808	{
19809		name:   "FMSUBS",
19810		argLen: 3,
19811		asm:    arm64.AFMSUBS,
19812		reg: regInfo{
19813			inputs: []inputInfo{
19814				{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
19815				{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
19816				{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
19817			},
19818			outputs: []outputInfo{
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			},
19821		},
19822	},
19823	{
19824		name:   "FMSUBD",
19825		argLen: 3,
19826		asm:    arm64.AFMSUBD,
19827		reg: regInfo{
19828			inputs: []inputInfo{
19829				{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
19830				{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
19831				{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
19832			},
19833			outputs: []outputInfo{
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			},
19836		},
19837	},
19838	{
19839		name:   "FNMSUBS",
19840		argLen: 3,
19841		asm:    arm64.AFNMSUBS,
19842		reg: regInfo{
19843			inputs: []inputInfo{
19844				{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
19845				{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
19846				{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
19847			},
19848			outputs: []outputInfo{
19849				{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
19850			},
19851		},
19852	},
19853	{
19854		name:   "FNMSUBD",
19855		argLen: 3,
19856		asm:    arm64.AFNMSUBD,
19857		reg: regInfo{
19858			inputs: []inputInfo{
19859				{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
19860				{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
19861				{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
19862			},
19863			outputs: []outputInfo{
19864				{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
19865			},
19866		},
19867	},
19868	{
19869		name:   "MADD",
19870		argLen: 3,
19871		asm:    arm64.AMADD,
19872		reg: regInfo{
19873			inputs: []inputInfo{
19874				{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
19875				{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
19876				{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
19877			},
19878			outputs: []outputInfo{
19879				{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
19880			},
19881		},
19882	},
19883	{
19884		name:   "MADDW",
19885		argLen: 3,
19886		asm:    arm64.AMADDW,
19887		reg: regInfo{
19888			inputs: []inputInfo{
19889				{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
19890				{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
19891				{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
19892			},
19893			outputs: []outputInfo{
19894				{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
19895			},
19896		},
19897	},
19898	{
19899		name:   "MSUB",
19900		argLen: 3,
19901		asm:    arm64.AMSUB,
19902		reg: regInfo{
19903			inputs: []inputInfo{
19904				{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
19905				{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
19906				{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
19907			},
19908			outputs: []outputInfo{
19909				{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
19910			},
19911		},
19912	},
19913	{
19914		name:   "MSUBW",
19915		argLen: 3,
19916		asm:    arm64.AMSUBW,
19917		reg: regInfo{
19918			inputs: []inputInfo{
19919				{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
19920				{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
19921				{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
19922			},
19923			outputs: []outputInfo{
19924				{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
19925			},
19926		},
19927	},
19928	{
19929		name:   "SLL",
19930		argLen: 2,
19931		asm:    arm64.ALSL,
19932		reg: regInfo{
19933			inputs: []inputInfo{
19934				{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
19935				{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
19936			},
19937			outputs: []outputInfo{
19938				{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
19939			},
19940		},
19941	},
19942	{
19943		name:    "SLLconst",
19944		auxType: auxInt64,
19945		argLen:  1,
19946		asm:     arm64.ALSL,
19947		reg: regInfo{
19948			inputs: []inputInfo{
19949				{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
19950			},
19951			outputs: []outputInfo{
19952				{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
19953			},
19954		},
19955	},
19956	{
19957		name:   "SRL",
19958		argLen: 2,
19959		asm:    arm64.ALSR,
19960		reg: regInfo{
19961			inputs: []inputInfo{
19962				{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
19963				{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
19964			},
19965			outputs: []outputInfo{
19966				{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
19967			},
19968		},
19969	},
19970	{
19971		name:    "SRLconst",
19972		auxType: auxInt64,
19973		argLen:  1,
19974		asm:     arm64.ALSR,
19975		reg: regInfo{
19976			inputs: []inputInfo{
19977				{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
19978			},
19979			outputs: []outputInfo{
19980				{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
19981			},
19982		},
19983	},
19984	{
19985		name:   "SRA",
19986		argLen: 2,
19987		asm:    arm64.AASR,
19988		reg: regInfo{
19989			inputs: []inputInfo{
19990				{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
19991				{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
19992			},
19993			outputs: []outputInfo{
19994				{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
19995			},
19996		},
19997	},
19998	{
19999		name:    "SRAconst",
20000		auxType: auxInt64,
20001		argLen:  1,
20002		asm:     arm64.AASR,
20003		reg: regInfo{
20004			inputs: []inputInfo{
20005				{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
20006			},
20007			outputs: []outputInfo{
20008				{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
20009			},
20010		},
20011	},
20012	{
20013		name:   "ROR",
20014		argLen: 2,
20015		asm:    arm64.AROR,
20016		reg: regInfo{
20017			inputs: []inputInfo{
20018				{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
20019				{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
20020			},
20021			outputs: []outputInfo{
20022				{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
20023			},
20024		},
20025	},
20026	{
20027		name:   "RORW",
20028		argLen: 2,
20029		asm:    arm64.ARORW,
20030		reg: regInfo{
20031			inputs: []inputInfo{
20032				{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
20033				{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
20034			},
20035			outputs: []outputInfo{
20036				{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
20037			},
20038		},
20039	},
20040	{
20041		name:    "RORconst",
20042		auxType: auxInt64,
20043		argLen:  1,
20044		asm:     arm64.AROR,
20045		reg: regInfo{
20046			inputs: []inputInfo{
20047				{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
20048			},
20049			outputs: []outputInfo{
20050				{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
20051			},
20052		},
20053	},
20054	{
20055		name:    "RORWconst",
20056		auxType: auxInt64,
20057		argLen:  1,
20058		asm:     arm64.ARORW,
20059		reg: regInfo{
20060			inputs: []inputInfo{
20061				{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
20062			},
20063			outputs: []outputInfo{
20064				{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
20065			},
20066		},
20067	},
20068	{
20069		name:    "EXTRconst",
20070		auxType: auxInt64,
20071		argLen:  2,
20072		asm:     arm64.AEXTR,
20073		reg: regInfo{
20074			inputs: []inputInfo{
20075				{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
20076				{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
20077			},
20078			outputs: []outputInfo{
20079				{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
20080			},
20081		},
20082	},
20083	{
20084		name:    "EXTRWconst",
20085		auxType: auxInt64,
20086		argLen:  2,
20087		asm:     arm64.AEXTRW,
20088		reg: regInfo{
20089			inputs: []inputInfo{
20090				{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
20091				{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
20092			},
20093			outputs: []outputInfo{
20094				{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
20095			},
20096		},
20097	},
20098	{
20099		name:   "CMP",
20100		argLen: 2,
20101		asm:    arm64.ACMP,
20102		reg: regInfo{
20103			inputs: []inputInfo{
20104				{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
20105				{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
20106			},
20107		},
20108	},
20109	{
20110		name:    "CMPconst",
20111		auxType: auxInt64,
20112		argLen:  1,
20113		asm:     arm64.ACMP,
20114		reg: regInfo{
20115			inputs: []inputInfo{
20116				{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
20117			},
20118		},
20119	},
20120	{
20121		name:   "CMPW",
20122		argLen: 2,
20123		asm:    arm64.ACMPW,
20124		reg: regInfo{
20125			inputs: []inputInfo{
20126				{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
20127				{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
20128			},
20129		},
20130	},
20131	{
20132		name:    "CMPWconst",
20133		auxType: auxInt32,
20134		argLen:  1,
20135		asm:     arm64.ACMPW,
20136		reg: regInfo{
20137			inputs: []inputInfo{
20138				{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
20139			},
20140		},
20141	},
20142	{
20143		name:        "CMN",
20144		argLen:      2,
20145		commutative: true,
20146		asm:         arm64.ACMN,
20147		reg: regInfo{
20148			inputs: []inputInfo{
20149				{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
20150				{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
20151			},
20152		},
20153	},
20154	{
20155		name:    "CMNconst",
20156		auxType: auxInt64,
20157		argLen:  1,
20158		asm:     arm64.ACMN,
20159		reg: regInfo{
20160			inputs: []inputInfo{
20161				{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
20162			},
20163		},
20164	},
20165	{
20166		name:        "CMNW",
20167		argLen:      2,
20168		commutative: true,
20169		asm:         arm64.ACMNW,
20170		reg: regInfo{
20171			inputs: []inputInfo{
20172				{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
20173				{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
20174			},
20175		},
20176	},
20177	{
20178		name:    "CMNWconst",
20179		auxType: auxInt32,
20180		argLen:  1,
20181		asm:     arm64.ACMNW,
20182		reg: regInfo{
20183			inputs: []inputInfo{
20184				{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
20185			},
20186		},
20187	},
20188	{
20189		name:        "TST",
20190		argLen:      2,
20191		commutative: true,
20192		asm:         arm64.ATST,
20193		reg: regInfo{
20194			inputs: []inputInfo{
20195				{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
20196				{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
20197			},
20198		},
20199	},
20200	{
20201		name:    "TSTconst",
20202		auxType: auxInt64,
20203		argLen:  1,
20204		asm:     arm64.ATST,
20205		reg: regInfo{
20206			inputs: []inputInfo{
20207				{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
20208			},
20209		},
20210	},
20211	{
20212		name:        "TSTW",
20213		argLen:      2,
20214		commutative: true,
20215		asm:         arm64.ATSTW,
20216		reg: regInfo{
20217			inputs: []inputInfo{
20218				{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
20219				{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
20220			},
20221		},
20222	},
20223	{
20224		name:    "TSTWconst",
20225		auxType: auxInt32,
20226		argLen:  1,
20227		asm:     arm64.ATSTW,
20228		reg: regInfo{
20229			inputs: []inputInfo{
20230				{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
20231			},
20232		},
20233	},
20234	{
20235		name:   "FCMPS",
20236		argLen: 2,
20237		asm:    arm64.AFCMPS,
20238		reg: regInfo{
20239			inputs: []inputInfo{
20240				{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
20241				{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
20242			},
20243		},
20244	},
20245	{
20246		name:   "FCMPD",
20247		argLen: 2,
20248		asm:    arm64.AFCMPD,
20249		reg: regInfo{
20250			inputs: []inputInfo{
20251				{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
20252				{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
20253			},
20254		},
20255	},
20256	{
20257		name:   "FCMPS0",
20258		argLen: 1,
20259		asm:    arm64.AFCMPS,
20260		reg: regInfo{
20261			inputs: []inputInfo{
20262				{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
20263			},
20264		},
20265	},
20266	{
20267		name:   "FCMPD0",
20268		argLen: 1,
20269		asm:    arm64.AFCMPD,
20270		reg: regInfo{
20271			inputs: []inputInfo{
20272				{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
20273			},
20274		},
20275	},
20276	{
20277		name:    "MVNshiftLL",
20278		auxType: auxInt64,
20279		argLen:  1,
20280		asm:     arm64.AMVN,
20281		reg: regInfo{
20282			inputs: []inputInfo{
20283				{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
20284			},
20285			outputs: []outputInfo{
20286				{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
20287			},
20288		},
20289	},
20290	{
20291		name:    "MVNshiftRL",
20292		auxType: auxInt64,
20293		argLen:  1,
20294		asm:     arm64.AMVN,
20295		reg: regInfo{
20296			inputs: []inputInfo{
20297				{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
20298			},
20299			outputs: []outputInfo{
20300				{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
20301			},
20302		},
20303	},
20304	{
20305		name:    "MVNshiftRA",
20306		auxType: auxInt64,
20307		argLen:  1,
20308		asm:     arm64.AMVN,
20309		reg: regInfo{
20310			inputs: []inputInfo{
20311				{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
20312			},
20313			outputs: []outputInfo{
20314				{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
20315			},
20316		},
20317	},
20318	{
20319		name:    "MVNshiftRO",
20320		auxType: auxInt64,
20321		argLen:  1,
20322		asm:     arm64.AMVN,
20323		reg: regInfo{
20324			inputs: []inputInfo{
20325				{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
20326			},
20327			outputs: []outputInfo{
20328				{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
20329			},
20330		},
20331	},
20332	{
20333		name:    "NEGshiftLL",
20334		auxType: auxInt64,
20335		argLen:  1,
20336		asm:     arm64.ANEG,
20337		reg: regInfo{
20338			inputs: []inputInfo{
20339				{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
20340			},
20341			outputs: []outputInfo{
20342				{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
20343			},
20344		},
20345	},
20346	{
20347		name:    "NEGshiftRL",
20348		auxType: auxInt64,
20349		argLen:  1,
20350		asm:     arm64.ANEG,
20351		reg: regInfo{
20352			inputs: []inputInfo{
20353				{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
20354			},
20355			outputs: []outputInfo{
20356				{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
20357			},
20358		},
20359	},
20360	{
20361		name:    "NEGshiftRA",
20362		auxType: auxInt64,
20363		argLen:  1,
20364		asm:     arm64.ANEG,
20365		reg: regInfo{
20366			inputs: []inputInfo{
20367				{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
20368			},
20369			outputs: []outputInfo{
20370				{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
20371			},
20372		},
20373	},
20374	{
20375		name:    "ADDshiftLL",
20376		auxType: auxInt64,
20377		argLen:  2,
20378		asm:     arm64.AADD,
20379		reg: regInfo{
20380			inputs: []inputInfo{
20381				{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
20382				{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
20383			},
20384			outputs: []outputInfo{
20385				{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
20386			},
20387		},
20388	},
20389	{
20390		name:    "ADDshiftRL",
20391		auxType: auxInt64,
20392		argLen:  2,
20393		asm:     arm64.AADD,
20394		reg: regInfo{
20395			inputs: []inputInfo{
20396				{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
20397				{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
20398			},
20399			outputs: []outputInfo{
20400				{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
20401			},
20402		},
20403	},
20404	{
20405		name:    "ADDshiftRA",
20406		auxType: auxInt64,
20407		argLen:  2,
20408		asm:     arm64.AADD,
20409		reg: regInfo{
20410			inputs: []inputInfo{
20411				{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
20412				{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
20413			},
20414			outputs: []outputInfo{
20415				{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
20416			},
20417		},
20418	},
20419	{
20420		name:    "SUBshiftLL",
20421		auxType: auxInt64,
20422		argLen:  2,
20423		asm:     arm64.ASUB,
20424		reg: regInfo{
20425			inputs: []inputInfo{
20426				{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
20427				{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
20428			},
20429			outputs: []outputInfo{
20430				{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
20431			},
20432		},
20433	},
20434	{
20435		name:    "SUBshiftRL",
20436		auxType: auxInt64,
20437		argLen:  2,
20438		asm:     arm64.ASUB,
20439		reg: regInfo{
20440			inputs: []inputInfo{
20441				{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
20442				{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
20443			},
20444			outputs: []outputInfo{
20445				{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
20446			},
20447		},
20448	},
20449	{
20450		name:    "SUBshiftRA",
20451		auxType: auxInt64,
20452		argLen:  2,
20453		asm:     arm64.ASUB,
20454		reg: regInfo{
20455			inputs: []inputInfo{
20456				{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
20457				{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
20458			},
20459			outputs: []outputInfo{
20460				{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
20461			},
20462		},
20463	},
20464	{
20465		name:    "ANDshiftLL",
20466		auxType: auxInt64,
20467		argLen:  2,
20468		asm:     arm64.AAND,
20469		reg: regInfo{
20470			inputs: []inputInfo{
20471				{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
20472				{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
20473			},
20474			outputs: []outputInfo{
20475				{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
20476			},
20477		},
20478	},
20479	{
20480		name:    "ANDshiftRL",
20481		auxType: auxInt64,
20482		argLen:  2,
20483		asm:     arm64.AAND,
20484		reg: regInfo{
20485			inputs: []inputInfo{
20486				{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
20487				{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
20488			},
20489			outputs: []outputInfo{
20490				{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
20491			},
20492		},
20493	},
20494	{
20495		name:    "ANDshiftRA",
20496		auxType: auxInt64,
20497		argLen:  2,
20498		asm:     arm64.AAND,
20499		reg: regInfo{
20500			inputs: []inputInfo{
20501				{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
20502				{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
20503			},
20504			outputs: []outputInfo{
20505				{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
20506			},
20507		},
20508	},
20509	{
20510		name:    "ANDshiftRO",
20511		auxType: auxInt64,
20512		argLen:  2,
20513		asm:     arm64.AAND,
20514		reg: regInfo{
20515			inputs: []inputInfo{
20516				{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
20517				{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
20518			},
20519			outputs: []outputInfo{
20520				{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
20521			},
20522		},
20523	},
20524	{
20525		name:    "ORshiftLL",
20526		auxType: auxInt64,
20527		argLen:  2,
20528		asm:     arm64.AORR,
20529		reg: regInfo{
20530			inputs: []inputInfo{
20531				{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
20532				{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
20533			},
20534			outputs: []outputInfo{
20535				{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
20536			},
20537		},
20538	},
20539	{
20540		name:    "ORshiftRL",
20541		auxType: auxInt64,
20542		argLen:  2,
20543		asm:     arm64.AORR,
20544		reg: regInfo{
20545			inputs: []inputInfo{
20546				{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
20547				{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
20548			},
20549			outputs: []outputInfo{
20550				{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
20551			},
20552		},
20553	},
20554	{
20555		name:    "ORshiftRA",
20556		auxType: auxInt64,
20557		argLen:  2,
20558		asm:     arm64.AORR,
20559		reg: regInfo{
20560			inputs: []inputInfo{
20561				{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
20562				{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
20563			},
20564			outputs: []outputInfo{
20565				{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
20566			},
20567		},
20568	},
20569	{
20570		name:    "ORshiftRO",
20571		auxType: auxInt64,
20572		argLen:  2,
20573		asm:     arm64.AORR,
20574		reg: regInfo{
20575			inputs: []inputInfo{
20576				{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
20577				{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
20578			},
20579			outputs: []outputInfo{
20580				{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
20581			},
20582		},
20583	},
20584	{
20585		name:    "XORshiftLL",
20586		auxType: auxInt64,
20587		argLen:  2,
20588		asm:     arm64.AEOR,
20589		reg: regInfo{
20590			inputs: []inputInfo{
20591				{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
20592				{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
20593			},
20594			outputs: []outputInfo{
20595				{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
20596			},
20597		},
20598	},
20599	{
20600		name:    "XORshiftRL",
20601		auxType: auxInt64,
20602		argLen:  2,
20603		asm:     arm64.AEOR,
20604		reg: regInfo{
20605			inputs: []inputInfo{
20606				{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
20607				{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
20608			},
20609			outputs: []outputInfo{
20610				{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
20611			},
20612		},
20613	},
20614	{
20615		name:    "XORshiftRA",
20616		auxType: auxInt64,
20617		argLen:  2,
20618		asm:     arm64.AEOR,
20619		reg: regInfo{
20620			inputs: []inputInfo{
20621				{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
20622				{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
20623			},
20624			outputs: []outputInfo{
20625				{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
20626			},
20627		},
20628	},
20629	{
20630		name:    "XORshiftRO",
20631		auxType: auxInt64,
20632		argLen:  2,
20633		asm:     arm64.AEOR,
20634		reg: regInfo{
20635			inputs: []inputInfo{
20636				{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
20637				{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
20638			},
20639			outputs: []outputInfo{
20640				{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
20641			},
20642		},
20643	},
20644	{
20645		name:    "BICshiftLL",
20646		auxType: auxInt64,
20647		argLen:  2,
20648		asm:     arm64.ABIC,
20649		reg: regInfo{
20650			inputs: []inputInfo{
20651				{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
20652				{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
20653			},
20654			outputs: []outputInfo{
20655				{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
20656			},
20657		},
20658	},
20659	{
20660		name:    "BICshiftRL",
20661		auxType: auxInt64,
20662		argLen:  2,
20663		asm:     arm64.ABIC,
20664		reg: regInfo{
20665			inputs: []inputInfo{
20666				{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
20667				{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
20668			},
20669			outputs: []outputInfo{
20670				{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
20671			},
20672		},
20673	},
20674	{
20675		name:    "BICshiftRA",
20676		auxType: auxInt64,
20677		argLen:  2,
20678		asm:     arm64.ABIC,
20679		reg: regInfo{
20680			inputs: []inputInfo{
20681				{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
20682				{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
20683			},
20684			outputs: []outputInfo{
20685				{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
20686			},
20687		},
20688	},
20689	{
20690		name:    "BICshiftRO",
20691		auxType: auxInt64,
20692		argLen:  2,
20693		asm:     arm64.ABIC,
20694		reg: regInfo{
20695			inputs: []inputInfo{
20696				{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
20697				{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
20698			},
20699			outputs: []outputInfo{
20700				{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
20701			},
20702		},
20703	},
20704	{
20705		name:    "EONshiftLL",
20706		auxType: auxInt64,
20707		argLen:  2,
20708		asm:     arm64.AEON,
20709		reg: regInfo{
20710			inputs: []inputInfo{
20711				{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
20712				{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
20713			},
20714			outputs: []outputInfo{
20715				{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
20716			},
20717		},
20718	},
20719	{
20720		name:    "EONshiftRL",
20721		auxType: auxInt64,
20722		argLen:  2,
20723		asm:     arm64.AEON,
20724		reg: regInfo{
20725			inputs: []inputInfo{
20726				{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
20727				{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
20728			},
20729			outputs: []outputInfo{
20730				{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
20731			},
20732		},
20733	},
20734	{
20735		name:    "EONshiftRA",
20736		auxType: auxInt64,
20737		argLen:  2,
20738		asm:     arm64.AEON,
20739		reg: regInfo{
20740			inputs: []inputInfo{
20741				{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
20742				{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
20743			},
20744			outputs: []outputInfo{
20745				{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
20746			},
20747		},
20748	},
20749	{
20750		name:    "EONshiftRO",
20751		auxType: auxInt64,
20752		argLen:  2,
20753		asm:     arm64.AEON,
20754		reg: regInfo{
20755			inputs: []inputInfo{
20756				{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
20757				{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
20758			},
20759			outputs: []outputInfo{
20760				{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
20761			},
20762		},
20763	},
20764	{
20765		name:    "ORNshiftLL",
20766		auxType: auxInt64,
20767		argLen:  2,
20768		asm:     arm64.AORN,
20769		reg: regInfo{
20770			inputs: []inputInfo{
20771				{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
20772				{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
20773			},
20774			outputs: []outputInfo{
20775				{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
20776			},
20777		},
20778	},
20779	{
20780		name:    "ORNshiftRL",
20781		auxType: auxInt64,
20782		argLen:  2,
20783		asm:     arm64.AORN,
20784		reg: regInfo{
20785			inputs: []inputInfo{
20786				{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
20787				{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
20788			},
20789			outputs: []outputInfo{
20790				{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
20791			},
20792		},
20793	},
20794	{
20795		name:    "ORNshiftRA",
20796		auxType: auxInt64,
20797		argLen:  2,
20798		asm:     arm64.AORN,
20799		reg: regInfo{
20800			inputs: []inputInfo{
20801				{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
20802				{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
20803			},
20804			outputs: []outputInfo{
20805				{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
20806			},
20807		},
20808	},
20809	{
20810		name:    "ORNshiftRO",
20811		auxType: auxInt64,
20812		argLen:  2,
20813		asm:     arm64.AORN,
20814		reg: regInfo{
20815			inputs: []inputInfo{
20816				{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
20817				{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
20818			},
20819			outputs: []outputInfo{
20820				{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
20821			},
20822		},
20823	},
20824	{
20825		name:    "CMPshiftLL",
20826		auxType: auxInt64,
20827		argLen:  2,
20828		asm:     arm64.ACMP,
20829		reg: regInfo{
20830			inputs: []inputInfo{
20831				{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
20832				{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
20833			},
20834		},
20835	},
20836	{
20837		name:    "CMPshiftRL",
20838		auxType: auxInt64,
20839		argLen:  2,
20840		asm:     arm64.ACMP,
20841		reg: regInfo{
20842			inputs: []inputInfo{
20843				{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
20844				{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
20845			},
20846		},
20847	},
20848	{
20849		name:    "CMPshiftRA",
20850		auxType: auxInt64,
20851		argLen:  2,
20852		asm:     arm64.ACMP,
20853		reg: regInfo{
20854			inputs: []inputInfo{
20855				{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
20856				{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
20857			},
20858		},
20859	},
20860	{
20861		name:    "CMNshiftLL",
20862		auxType: auxInt64,
20863		argLen:  2,
20864		asm:     arm64.ACMN,
20865		reg: regInfo{
20866			inputs: []inputInfo{
20867				{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
20868				{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
20869			},
20870		},
20871	},
20872	{
20873		name:    "CMNshiftRL",
20874		auxType: auxInt64,
20875		argLen:  2,
20876		asm:     arm64.ACMN,
20877		reg: regInfo{
20878			inputs: []inputInfo{
20879				{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
20880				{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
20881			},
20882		},
20883	},
20884	{
20885		name:    "CMNshiftRA",
20886		auxType: auxInt64,
20887		argLen:  2,
20888		asm:     arm64.ACMN,
20889		reg: regInfo{
20890			inputs: []inputInfo{
20891				{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
20892				{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
20893			},
20894		},
20895	},
20896	{
20897		name:    "TSTshiftLL",
20898		auxType: auxInt64,
20899		argLen:  2,
20900		asm:     arm64.ATST,
20901		reg: regInfo{
20902			inputs: []inputInfo{
20903				{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
20904				{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
20905			},
20906		},
20907	},
20908	{
20909		name:    "TSTshiftRL",
20910		auxType: auxInt64,
20911		argLen:  2,
20912		asm:     arm64.ATST,
20913		reg: regInfo{
20914			inputs: []inputInfo{
20915				{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
20916				{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
20917			},
20918		},
20919	},
20920	{
20921		name:    "TSTshiftRA",
20922		auxType: auxInt64,
20923		argLen:  2,
20924		asm:     arm64.ATST,
20925		reg: regInfo{
20926			inputs: []inputInfo{
20927				{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
20928				{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
20929			},
20930		},
20931	},
20932	{
20933		name:    "TSTshiftRO",
20934		auxType: auxInt64,
20935		argLen:  2,
20936		asm:     arm64.ATST,
20937		reg: regInfo{
20938			inputs: []inputInfo{
20939				{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
20940				{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
20941			},
20942		},
20943	},
20944	{
20945		name:         "BFI",
20946		auxType:      auxARM64BitField,
20947		argLen:       2,
20948		resultInArg0: true,
20949		asm:          arm64.ABFI,
20950		reg: regInfo{
20951			inputs: []inputInfo{
20952				{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
20953				{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
20954			},
20955			outputs: []outputInfo{
20956				{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
20957			},
20958		},
20959	},
20960	{
20961		name:         "BFXIL",
20962		auxType:      auxARM64BitField,
20963		argLen:       2,
20964		resultInArg0: true,
20965		asm:          arm64.ABFXIL,
20966		reg: regInfo{
20967			inputs: []inputInfo{
20968				{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
20969				{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
20970			},
20971			outputs: []outputInfo{
20972				{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
20973			},
20974		},
20975	},
20976	{
20977		name:    "SBFIZ",
20978		auxType: auxARM64BitField,
20979		argLen:  1,
20980		asm:     arm64.ASBFIZ,
20981		reg: regInfo{
20982			inputs: []inputInfo{
20983				{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
20984			},
20985			outputs: []outputInfo{
20986				{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
20987			},
20988		},
20989	},
20990	{
20991		name:    "SBFX",
20992		auxType: auxARM64BitField,
20993		argLen:  1,
20994		asm:     arm64.ASBFX,
20995		reg: regInfo{
20996			inputs: []inputInfo{
20997				{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
20998			},
20999			outputs: []outputInfo{
21000				{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
21001			},
21002		},
21003	},
21004	{
21005		name:    "UBFIZ",
21006		auxType: auxARM64BitField,
21007		argLen:  1,
21008		asm:     arm64.AUBFIZ,
21009		reg: regInfo{
21010			inputs: []inputInfo{
21011				{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
21012			},
21013			outputs: []outputInfo{
21014				{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
21015			},
21016		},
21017	},
21018	{
21019		name:    "UBFX",
21020		auxType: auxARM64BitField,
21021		argLen:  1,
21022		asm:     arm64.AUBFX,
21023		reg: regInfo{
21024			inputs: []inputInfo{
21025				{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
21026			},
21027			outputs: []outputInfo{
21028				{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
21029			},
21030		},
21031	},
21032	{
21033		name:              "MOVDconst",
21034		auxType:           auxInt64,
21035		argLen:            0,
21036		rematerializeable: true,
21037		asm:               arm64.AMOVD,
21038		reg: regInfo{
21039			outputs: []outputInfo{
21040				{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
21041			},
21042		},
21043	},
21044	{
21045		name:              "FMOVSconst",
21046		auxType:           auxFloat64,
21047		argLen:            0,
21048		rematerializeable: true,
21049		asm:               arm64.AFMOVS,
21050		reg: regInfo{
21051			outputs: []outputInfo{
21052				{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
21053			},
21054		},
21055	},
21056	{
21057		name:              "FMOVDconst",
21058		auxType:           auxFloat64,
21059		argLen:            0,
21060		rematerializeable: true,
21061		asm:               arm64.AFMOVD,
21062		reg: regInfo{
21063			outputs: []outputInfo{
21064				{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
21065			},
21066		},
21067	},
21068	{
21069		name:              "MOVDaddr",
21070		auxType:           auxSymOff,
21071		argLen:            1,
21072		rematerializeable: true,
21073		symEffect:         SymAddr,
21074		asm:               arm64.AMOVD,
21075		reg: regInfo{
21076			inputs: []inputInfo{
21077				{0, 9223372037928517632}, // SP SB
21078			},
21079			outputs: []outputInfo{
21080				{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
21081			},
21082		},
21083	},
21084	{
21085		name:           "MOVBload",
21086		auxType:        auxSymOff,
21087		argLen:         2,
21088		faultOnNilArg0: true,
21089		symEffect:      SymRead,
21090		asm:            arm64.AMOVB,
21091		reg: regInfo{
21092			inputs: []inputInfo{
21093				{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
21094			},
21095			outputs: []outputInfo{
21096				{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
21097			},
21098		},
21099	},
21100	{
21101		name:           "MOVBUload",
21102		auxType:        auxSymOff,
21103		argLen:         2,
21104		faultOnNilArg0: true,
21105		symEffect:      SymRead,
21106		asm:            arm64.AMOVBU,
21107		reg: regInfo{
21108			inputs: []inputInfo{
21109				{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
21110			},
21111			outputs: []outputInfo{
21112				{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
21113			},
21114		},
21115	},
21116	{
21117		name:           "MOVHload",
21118		auxType:        auxSymOff,
21119		argLen:         2,
21120		faultOnNilArg0: true,
21121		symEffect:      SymRead,
21122		asm:            arm64.AMOVH,
21123		reg: regInfo{
21124			inputs: []inputInfo{
21125				{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
21126			},
21127			outputs: []outputInfo{
21128				{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
21129			},
21130		},
21131	},
21132	{
21133		name:           "MOVHUload",
21134		auxType:        auxSymOff,
21135		argLen:         2,
21136		faultOnNilArg0: true,
21137		symEffect:      SymRead,
21138		asm:            arm64.AMOVHU,
21139		reg: regInfo{
21140			inputs: []inputInfo{
21141				{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
21142			},
21143			outputs: []outputInfo{
21144				{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
21145			},
21146		},
21147	},
21148	{
21149		name:           "MOVWload",
21150		auxType:        auxSymOff,
21151		argLen:         2,
21152		faultOnNilArg0: true,
21153		symEffect:      SymRead,
21154		asm:            arm64.AMOVW,
21155		reg: regInfo{
21156			inputs: []inputInfo{
21157				{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
21158			},
21159			outputs: []outputInfo{
21160				{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
21161			},
21162		},
21163	},
21164	{
21165		name:           "MOVWUload",
21166		auxType:        auxSymOff,
21167		argLen:         2,
21168		faultOnNilArg0: true,
21169		symEffect:      SymRead,
21170		asm:            arm64.AMOVWU,
21171		reg: regInfo{
21172			inputs: []inputInfo{
21173				{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
21174			},
21175			outputs: []outputInfo{
21176				{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
21177			},
21178		},
21179	},
21180	{
21181		name:           "MOVDload",
21182		auxType:        auxSymOff,
21183		argLen:         2,
21184		faultOnNilArg0: true,
21185		symEffect:      SymRead,
21186		asm:            arm64.AMOVD,
21187		reg: regInfo{
21188			inputs: []inputInfo{
21189				{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
21190			},
21191			outputs: []outputInfo{
21192				{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
21193			},
21194		},
21195	},
21196	{
21197		name:           "LDP",
21198		auxType:        auxSymOff,
21199		argLen:         2,
21200		faultOnNilArg0: true,
21201		symEffect:      SymRead,
21202		asm:            arm64.ALDP,
21203		reg: regInfo{
21204			inputs: []inputInfo{
21205				{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
21206			},
21207			outputs: []outputInfo{
21208				{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
21209				{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
21210			},
21211		},
21212	},
21213	{
21214		name:           "FMOVSload",
21215		auxType:        auxSymOff,
21216		argLen:         2,
21217		faultOnNilArg0: true,
21218		symEffect:      SymRead,
21219		asm:            arm64.AFMOVS,
21220		reg: regInfo{
21221			inputs: []inputInfo{
21222				{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
21223			},
21224			outputs: []outputInfo{
21225				{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
21226			},
21227		},
21228	},
21229	{
21230		name:           "FMOVDload",
21231		auxType:        auxSymOff,
21232		argLen:         2,
21233		faultOnNilArg0: true,
21234		symEffect:      SymRead,
21235		asm:            arm64.AFMOVD,
21236		reg: regInfo{
21237			inputs: []inputInfo{
21238				{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
21239			},
21240			outputs: []outputInfo{
21241				{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
21242			},
21243		},
21244	},
21245	{
21246		name:   "MOVDloadidx",
21247		argLen: 3,
21248		asm:    arm64.AMOVD,
21249		reg: regInfo{
21250			inputs: []inputInfo{
21251				{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
21252				{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
21253			},
21254			outputs: []outputInfo{
21255				{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
21256			},
21257		},
21258	},
21259	{
21260		name:   "MOVWloadidx",
21261		argLen: 3,
21262		asm:    arm64.AMOVW,
21263		reg: regInfo{
21264			inputs: []inputInfo{
21265				{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
21266				{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
21267			},
21268			outputs: []outputInfo{
21269				{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
21270			},
21271		},
21272	},
21273	{
21274		name:   "MOVWUloadidx",
21275		argLen: 3,
21276		asm:    arm64.AMOVWU,
21277		reg: regInfo{
21278			inputs: []inputInfo{
21279				{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
21280				{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
21281			},
21282			outputs: []outputInfo{
21283				{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
21284			},
21285		},
21286	},
21287	{
21288		name:   "MOVHloadidx",
21289		argLen: 3,
21290		asm:    arm64.AMOVH,
21291		reg: regInfo{
21292			inputs: []inputInfo{
21293				{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
21294				{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
21295			},
21296			outputs: []outputInfo{
21297				{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
21298			},
21299		},
21300	},
21301	{
21302		name:   "MOVHUloadidx",
21303		argLen: 3,
21304		asm:    arm64.AMOVHU,
21305		reg: regInfo{
21306			inputs: []inputInfo{
21307				{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
21308				{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
21309			},
21310			outputs: []outputInfo{
21311				{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
21312			},
21313		},
21314	},
21315	{
21316		name:   "MOVBloadidx",
21317		argLen: 3,
21318		asm:    arm64.AMOVB,
21319		reg: regInfo{
21320			inputs: []inputInfo{
21321				{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
21322				{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
21323			},
21324			outputs: []outputInfo{
21325				{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
21326			},
21327		},
21328	},
21329	{
21330		name:   "MOVBUloadidx",
21331		argLen: 3,
21332		asm:    arm64.AMOVBU,
21333		reg: regInfo{
21334			inputs: []inputInfo{
21335				{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
21336				{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
21337			},
21338			outputs: []outputInfo{
21339				{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
21340			},
21341		},
21342	},
21343	{
21344		name:   "FMOVSloadidx",
21345		argLen: 3,
21346		asm:    arm64.AFMOVS,
21347		reg: regInfo{
21348			inputs: []inputInfo{
21349				{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
21350				{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
21351			},
21352			outputs: []outputInfo{
21353				{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
21354			},
21355		},
21356	},
21357	{
21358		name:   "FMOVDloadidx",
21359		argLen: 3,
21360		asm:    arm64.AFMOVD,
21361		reg: regInfo{
21362			inputs: []inputInfo{
21363				{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
21364				{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
21365			},
21366			outputs: []outputInfo{
21367				{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
21368			},
21369		},
21370	},
21371	{
21372		name:   "MOVHloadidx2",
21373		argLen: 3,
21374		asm:    arm64.AMOVH,
21375		reg: regInfo{
21376			inputs: []inputInfo{
21377				{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
21378				{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
21379			},
21380			outputs: []outputInfo{
21381				{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
21382			},
21383		},
21384	},
21385	{
21386		name:   "MOVHUloadidx2",
21387		argLen: 3,
21388		asm:    arm64.AMOVHU,
21389		reg: regInfo{
21390			inputs: []inputInfo{
21391				{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
21392				{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
21393			},
21394			outputs: []outputInfo{
21395				{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
21396			},
21397		},
21398	},
21399	{
21400		name:   "MOVWloadidx4",
21401		argLen: 3,
21402		asm:    arm64.AMOVW,
21403		reg: regInfo{
21404			inputs: []inputInfo{
21405				{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
21406				{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
21407			},
21408			outputs: []outputInfo{
21409				{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
21410			},
21411		},
21412	},
21413	{
21414		name:   "MOVWUloadidx4",
21415		argLen: 3,
21416		asm:    arm64.AMOVWU,
21417		reg: regInfo{
21418			inputs: []inputInfo{
21419				{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
21420				{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
21421			},
21422			outputs: []outputInfo{
21423				{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
21424			},
21425		},
21426	},
21427	{
21428		name:   "MOVDloadidx8",
21429		argLen: 3,
21430		asm:    arm64.AMOVD,
21431		reg: regInfo{
21432			inputs: []inputInfo{
21433				{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
21434				{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
21435			},
21436			outputs: []outputInfo{
21437				{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
21438			},
21439		},
21440	},
21441	{
21442		name:   "FMOVSloadidx4",
21443		argLen: 3,
21444		asm:    arm64.AFMOVS,
21445		reg: regInfo{
21446			inputs: []inputInfo{
21447				{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
21448				{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
21449			},
21450			outputs: []outputInfo{
21451				{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
21452			},
21453		},
21454	},
21455	{
21456		name:   "FMOVDloadidx8",
21457		argLen: 3,
21458		asm:    arm64.AFMOVD,
21459		reg: regInfo{
21460			inputs: []inputInfo{
21461				{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
21462				{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
21463			},
21464			outputs: []outputInfo{
21465				{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
21466			},
21467		},
21468	},
21469	{
21470		name:           "MOVBstore",
21471		auxType:        auxSymOff,
21472		argLen:         3,
21473		faultOnNilArg0: true,
21474		symEffect:      SymWrite,
21475		asm:            arm64.AMOVB,
21476		reg: regInfo{
21477			inputs: []inputInfo{
21478				{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
21479				{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
21480			},
21481		},
21482	},
21483	{
21484		name:           "MOVHstore",
21485		auxType:        auxSymOff,
21486		argLen:         3,
21487		faultOnNilArg0: true,
21488		symEffect:      SymWrite,
21489		asm:            arm64.AMOVH,
21490		reg: regInfo{
21491			inputs: []inputInfo{
21492				{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
21493				{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
21494			},
21495		},
21496	},
21497	{
21498		name:           "MOVWstore",
21499		auxType:        auxSymOff,
21500		argLen:         3,
21501		faultOnNilArg0: true,
21502		symEffect:      SymWrite,
21503		asm:            arm64.AMOVW,
21504		reg: regInfo{
21505			inputs: []inputInfo{
21506				{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
21507				{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
21508			},
21509		},
21510	},
21511	{
21512		name:           "MOVDstore",
21513		auxType:        auxSymOff,
21514		argLen:         3,
21515		faultOnNilArg0: true,
21516		symEffect:      SymWrite,
21517		asm:            arm64.AMOVD,
21518		reg: regInfo{
21519			inputs: []inputInfo{
21520				{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
21521				{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
21522			},
21523		},
21524	},
21525	{
21526		name:           "STP",
21527		auxType:        auxSymOff,
21528		argLen:         4,
21529		faultOnNilArg0: true,
21530		symEffect:      SymWrite,
21531		asm:            arm64.ASTP,
21532		reg: regInfo{
21533			inputs: []inputInfo{
21534				{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
21535				{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
21536				{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
21537			},
21538		},
21539	},
21540	{
21541		name:           "FMOVSstore",
21542		auxType:        auxSymOff,
21543		argLen:         3,
21544		faultOnNilArg0: true,
21545		symEffect:      SymWrite,
21546		asm:            arm64.AFMOVS,
21547		reg: regInfo{
21548			inputs: []inputInfo{
21549				{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
21550				{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
21551			},
21552		},
21553	},
21554	{
21555		name:           "FMOVDstore",
21556		auxType:        auxSymOff,
21557		argLen:         3,
21558		faultOnNilArg0: true,
21559		symEffect:      SymWrite,
21560		asm:            arm64.AFMOVD,
21561		reg: regInfo{
21562			inputs: []inputInfo{
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				{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
21565			},
21566		},
21567	},
21568	{
21569		name:   "MOVBstoreidx",
21570		argLen: 4,
21571		asm:    arm64.AMOVB,
21572		reg: regInfo{
21573			inputs: []inputInfo{
21574				{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
21575				{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
21576				{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
21577			},
21578		},
21579	},
21580	{
21581		name:   "MOVHstoreidx",
21582		argLen: 4,
21583		asm:    arm64.AMOVH,
21584		reg: regInfo{
21585			inputs: []inputInfo{
21586				{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
21587				{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
21588				{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
21589			},
21590		},
21591	},
21592	{
21593		name:   "MOVWstoreidx",
21594		argLen: 4,
21595		asm:    arm64.AMOVW,
21596		reg: regInfo{
21597			inputs: []inputInfo{
21598				{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
21599				{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
21600				{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
21601			},
21602		},
21603	},
21604	{
21605		name:   "MOVDstoreidx",
21606		argLen: 4,
21607		asm:    arm64.AMOVD,
21608		reg: regInfo{
21609			inputs: []inputInfo{
21610				{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
21611				{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
21612				{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
21613			},
21614		},
21615	},
21616	{
21617		name:   "FMOVSstoreidx",
21618		argLen: 4,
21619		asm:    arm64.AFMOVS,
21620		reg: regInfo{
21621			inputs: []inputInfo{
21622				{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
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				{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
21625			},
21626		},
21627	},
21628	{
21629		name:   "FMOVDstoreidx",
21630		argLen: 4,
21631		asm:    arm64.AFMOVD,
21632		reg: regInfo{
21633			inputs: []inputInfo{
21634				{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
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				{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
21637			},
21638		},
21639	},
21640	{
21641		name:   "MOVHstoreidx2",
21642		argLen: 4,
21643		asm:    arm64.AMOVH,
21644		reg: regInfo{
21645			inputs: []inputInfo{
21646				{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
21647				{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
21648				{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
21649			},
21650		},
21651	},
21652	{
21653		name:   "MOVWstoreidx4",
21654		argLen: 4,
21655		asm:    arm64.AMOVW,
21656		reg: regInfo{
21657			inputs: []inputInfo{
21658				{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
21659				{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
21660				{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
21661			},
21662		},
21663	},
21664	{
21665		name:   "MOVDstoreidx8",
21666		argLen: 4,
21667		asm:    arm64.AMOVD,
21668		reg: regInfo{
21669			inputs: []inputInfo{
21670				{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
21671				{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
21672				{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
21673			},
21674		},
21675	},
21676	{
21677		name:   "FMOVSstoreidx4",
21678		argLen: 4,
21679		asm:    arm64.AFMOVS,
21680		reg: regInfo{
21681			inputs: []inputInfo{
21682				{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
21683				{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
21684				{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
21685			},
21686		},
21687	},
21688	{
21689		name:   "FMOVDstoreidx8",
21690		argLen: 4,
21691		asm:    arm64.AFMOVD,
21692		reg: regInfo{
21693			inputs: []inputInfo{
21694				{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
21695				{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
21696				{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
21697			},
21698		},
21699	},
21700	{
21701		name:           "MOVBstorezero",
21702		auxType:        auxSymOff,
21703		argLen:         2,
21704		faultOnNilArg0: true,
21705		symEffect:      SymWrite,
21706		asm:            arm64.AMOVB,
21707		reg: regInfo{
21708			inputs: []inputInfo{
21709				{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
21710			},
21711		},
21712	},
21713	{
21714		name:           "MOVHstorezero",
21715		auxType:        auxSymOff,
21716		argLen:         2,
21717		faultOnNilArg0: true,
21718		symEffect:      SymWrite,
21719		asm:            arm64.AMOVH,
21720		reg: regInfo{
21721			inputs: []inputInfo{
21722				{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
21723			},
21724		},
21725	},
21726	{
21727		name:           "MOVWstorezero",
21728		auxType:        auxSymOff,
21729		argLen:         2,
21730		faultOnNilArg0: true,
21731		symEffect:      SymWrite,
21732		asm:            arm64.AMOVW,
21733		reg: regInfo{
21734			inputs: []inputInfo{
21735				{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
21736			},
21737		},
21738	},
21739	{
21740		name:           "MOVDstorezero",
21741		auxType:        auxSymOff,
21742		argLen:         2,
21743		faultOnNilArg0: true,
21744		symEffect:      SymWrite,
21745		asm:            arm64.AMOVD,
21746		reg: regInfo{
21747			inputs: []inputInfo{
21748				{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
21749			},
21750		},
21751	},
21752	{
21753		name:           "MOVQstorezero",
21754		auxType:        auxSymOff,
21755		argLen:         2,
21756		faultOnNilArg0: true,
21757		symEffect:      SymWrite,
21758		asm:            arm64.ASTP,
21759		reg: regInfo{
21760			inputs: []inputInfo{
21761				{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
21762			},
21763		},
21764	},
21765	{
21766		name:   "MOVBstorezeroidx",
21767		argLen: 3,
21768		asm:    arm64.AMOVB,
21769		reg: regInfo{
21770			inputs: []inputInfo{
21771				{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
21772				{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
21773			},
21774		},
21775	},
21776	{
21777		name:   "MOVHstorezeroidx",
21778		argLen: 3,
21779		asm:    arm64.AMOVH,
21780		reg: regInfo{
21781			inputs: []inputInfo{
21782				{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
21783				{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
21784			},
21785		},
21786	},
21787	{
21788		name:   "MOVWstorezeroidx",
21789		argLen: 3,
21790		asm:    arm64.AMOVW,
21791		reg: regInfo{
21792			inputs: []inputInfo{
21793				{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
21794				{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
21795			},
21796		},
21797	},
21798	{
21799		name:   "MOVDstorezeroidx",
21800		argLen: 3,
21801		asm:    arm64.AMOVD,
21802		reg: regInfo{
21803			inputs: []inputInfo{
21804				{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
21805				{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
21806			},
21807		},
21808	},
21809	{
21810		name:   "MOVHstorezeroidx2",
21811		argLen: 3,
21812		asm:    arm64.AMOVH,
21813		reg: regInfo{
21814			inputs: []inputInfo{
21815				{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
21816				{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
21817			},
21818		},
21819	},
21820	{
21821		name:   "MOVWstorezeroidx4",
21822		argLen: 3,
21823		asm:    arm64.AMOVW,
21824		reg: regInfo{
21825			inputs: []inputInfo{
21826				{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
21827				{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
21828			},
21829		},
21830	},
21831	{
21832		name:   "MOVDstorezeroidx8",
21833		argLen: 3,
21834		asm:    arm64.AMOVD,
21835		reg: regInfo{
21836			inputs: []inputInfo{
21837				{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
21838				{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
21839			},
21840		},
21841	},
21842	{
21843		name:   "FMOVDgpfp",
21844		argLen: 1,
21845		asm:    arm64.AFMOVD,
21846		reg: regInfo{
21847			inputs: []inputInfo{
21848				{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
21849			},
21850			outputs: []outputInfo{
21851				{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
21852			},
21853		},
21854	},
21855	{
21856		name:   "FMOVDfpgp",
21857		argLen: 1,
21858		asm:    arm64.AFMOVD,
21859		reg: regInfo{
21860			inputs: []inputInfo{
21861				{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
21862			},
21863			outputs: []outputInfo{
21864				{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
21865			},
21866		},
21867	},
21868	{
21869		name:   "FMOVSgpfp",
21870		argLen: 1,
21871		asm:    arm64.AFMOVS,
21872		reg: regInfo{
21873			inputs: []inputInfo{
21874				{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
21875			},
21876			outputs: []outputInfo{
21877				{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
21878			},
21879		},
21880	},
21881	{
21882		name:   "FMOVSfpgp",
21883		argLen: 1,
21884		asm:    arm64.AFMOVS,
21885		reg: regInfo{
21886			inputs: []inputInfo{
21887				{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
21888			},
21889			outputs: []outputInfo{
21890				{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
21891			},
21892		},
21893	},
21894	{
21895		name:   "MOVBreg",
21896		argLen: 1,
21897		asm:    arm64.AMOVB,
21898		reg: regInfo{
21899			inputs: []inputInfo{
21900				{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
21901			},
21902			outputs: []outputInfo{
21903				{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
21904			},
21905		},
21906	},
21907	{
21908		name:   "MOVBUreg",
21909		argLen: 1,
21910		asm:    arm64.AMOVBU,
21911		reg: regInfo{
21912			inputs: []inputInfo{
21913				{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
21914			},
21915			outputs: []outputInfo{
21916				{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
21917			},
21918		},
21919	},
21920	{
21921		name:   "MOVHreg",
21922		argLen: 1,
21923		asm:    arm64.AMOVH,
21924		reg: regInfo{
21925			inputs: []inputInfo{
21926				{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
21927			},
21928			outputs: []outputInfo{
21929				{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
21930			},
21931		},
21932	},
21933	{
21934		name:   "MOVHUreg",
21935		argLen: 1,
21936		asm:    arm64.AMOVHU,
21937		reg: regInfo{
21938			inputs: []inputInfo{
21939				{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
21940			},
21941			outputs: []outputInfo{
21942				{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
21943			},
21944		},
21945	},
21946	{
21947		name:   "MOVWreg",
21948		argLen: 1,
21949		asm:    arm64.AMOVW,
21950		reg: regInfo{
21951			inputs: []inputInfo{
21952				{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
21953			},
21954			outputs: []outputInfo{
21955				{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
21956			},
21957		},
21958	},
21959	{
21960		name:   "MOVWUreg",
21961		argLen: 1,
21962		asm:    arm64.AMOVWU,
21963		reg: regInfo{
21964			inputs: []inputInfo{
21965				{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
21966			},
21967			outputs: []outputInfo{
21968				{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
21969			},
21970		},
21971	},
21972	{
21973		name:   "MOVDreg",
21974		argLen: 1,
21975		asm:    arm64.AMOVD,
21976		reg: regInfo{
21977			inputs: []inputInfo{
21978				{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
21979			},
21980			outputs: []outputInfo{
21981				{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
21982			},
21983		},
21984	},
21985	{
21986		name:         "MOVDnop",
21987		argLen:       1,
21988		resultInArg0: true,
21989		reg: regInfo{
21990			inputs: []inputInfo{
21991				{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
21992			},
21993			outputs: []outputInfo{
21994				{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
21995			},
21996		},
21997	},
21998	{
21999		name:   "SCVTFWS",
22000		argLen: 1,
22001		asm:    arm64.ASCVTFWS,
22002		reg: regInfo{
22003			inputs: []inputInfo{
22004				{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
22005			},
22006			outputs: []outputInfo{
22007				{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
22008			},
22009		},
22010	},
22011	{
22012		name:   "SCVTFWD",
22013		argLen: 1,
22014		asm:    arm64.ASCVTFWD,
22015		reg: regInfo{
22016			inputs: []inputInfo{
22017				{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
22018			},
22019			outputs: []outputInfo{
22020				{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
22021			},
22022		},
22023	},
22024	{
22025		name:   "UCVTFWS",
22026		argLen: 1,
22027		asm:    arm64.AUCVTFWS,
22028		reg: regInfo{
22029			inputs: []inputInfo{
22030				{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
22031			},
22032			outputs: []outputInfo{
22033				{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
22034			},
22035		},
22036	},
22037	{
22038		name:   "UCVTFWD",
22039		argLen: 1,
22040		asm:    arm64.AUCVTFWD,
22041		reg: regInfo{
22042			inputs: []inputInfo{
22043				{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
22044			},
22045			outputs: []outputInfo{
22046				{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
22047			},
22048		},
22049	},
22050	{
22051		name:   "SCVTFS",
22052		argLen: 1,
22053		asm:    arm64.ASCVTFS,
22054		reg: regInfo{
22055			inputs: []inputInfo{
22056				{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
22057			},
22058			outputs: []outputInfo{
22059				{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
22060			},
22061		},
22062	},
22063	{
22064		name:   "SCVTFD",
22065		argLen: 1,
22066		asm:    arm64.ASCVTFD,
22067		reg: regInfo{
22068			inputs: []inputInfo{
22069				{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
22070			},
22071			outputs: []outputInfo{
22072				{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
22073			},
22074		},
22075	},
22076	{
22077		name:   "UCVTFS",
22078		argLen: 1,
22079		asm:    arm64.AUCVTFS,
22080		reg: regInfo{
22081			inputs: []inputInfo{
22082				{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
22083			},
22084			outputs: []outputInfo{
22085				{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
22086			},
22087		},
22088	},
22089	{
22090		name:   "UCVTFD",
22091		argLen: 1,
22092		asm:    arm64.AUCVTFD,
22093		reg: regInfo{
22094			inputs: []inputInfo{
22095				{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
22096			},
22097			outputs: []outputInfo{
22098				{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
22099			},
22100		},
22101	},
22102	{
22103		name:   "FCVTZSSW",
22104		argLen: 1,
22105		asm:    arm64.AFCVTZSSW,
22106		reg: regInfo{
22107			inputs: []inputInfo{
22108				{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
22109			},
22110			outputs: []outputInfo{
22111				{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
22112			},
22113		},
22114	},
22115	{
22116		name:   "FCVTZSDW",
22117		argLen: 1,
22118		asm:    arm64.AFCVTZSDW,
22119		reg: regInfo{
22120			inputs: []inputInfo{
22121				{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
22122			},
22123			outputs: []outputInfo{
22124				{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
22125			},
22126		},
22127	},
22128	{
22129		name:   "FCVTZUSW",
22130		argLen: 1,
22131		asm:    arm64.AFCVTZUSW,
22132		reg: regInfo{
22133			inputs: []inputInfo{
22134				{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
22135			},
22136			outputs: []outputInfo{
22137				{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
22138			},
22139		},
22140	},
22141	{
22142		name:   "FCVTZUDW",
22143		argLen: 1,
22144		asm:    arm64.AFCVTZUDW,
22145		reg: regInfo{
22146			inputs: []inputInfo{
22147				{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
22148			},
22149			outputs: []outputInfo{
22150				{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
22151			},
22152		},
22153	},
22154	{
22155		name:   "FCVTZSS",
22156		argLen: 1,
22157		asm:    arm64.AFCVTZSS,
22158		reg: regInfo{
22159			inputs: []inputInfo{
22160				{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
22161			},
22162			outputs: []outputInfo{
22163				{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
22164			},
22165		},
22166	},
22167	{
22168		name:   "FCVTZSD",
22169		argLen: 1,
22170		asm:    arm64.AFCVTZSD,
22171		reg: regInfo{
22172			inputs: []inputInfo{
22173				{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
22174			},
22175			outputs: []outputInfo{
22176				{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
22177			},
22178		},
22179	},
22180	{
22181		name:   "FCVTZUS",
22182		argLen: 1,
22183		asm:    arm64.AFCVTZUS,
22184		reg: regInfo{
22185			inputs: []inputInfo{
22186				{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
22187			},
22188			outputs: []outputInfo{
22189				{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
22190			},
22191		},
22192	},
22193	{
22194		name:   "FCVTZUD",
22195		argLen: 1,
22196		asm:    arm64.AFCVTZUD,
22197		reg: regInfo{
22198			inputs: []inputInfo{
22199				{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
22200			},
22201			outputs: []outputInfo{
22202				{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
22203			},
22204		},
22205	},
22206	{
22207		name:   "FCVTSD",
22208		argLen: 1,
22209		asm:    arm64.AFCVTSD,
22210		reg: regInfo{
22211			inputs: []inputInfo{
22212				{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
22213			},
22214			outputs: []outputInfo{
22215				{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
22216			},
22217		},
22218	},
22219	{
22220		name:   "FCVTDS",
22221		argLen: 1,
22222		asm:    arm64.AFCVTDS,
22223		reg: regInfo{
22224			inputs: []inputInfo{
22225				{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
22226			},
22227			outputs: []outputInfo{
22228				{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
22229			},
22230		},
22231	},
22232	{
22233		name:   "FRINTAD",
22234		argLen: 1,
22235		asm:    arm64.AFRINTAD,
22236		reg: regInfo{
22237			inputs: []inputInfo{
22238				{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
22239			},
22240			outputs: []outputInfo{
22241				{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
22242			},
22243		},
22244	},
22245	{
22246		name:   "FRINTMD",
22247		argLen: 1,
22248		asm:    arm64.AFRINTMD,
22249		reg: regInfo{
22250			inputs: []inputInfo{
22251				{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
22252			},
22253			outputs: []outputInfo{
22254				{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
22255			},
22256		},
22257	},
22258	{
22259		name:   "FRINTND",
22260		argLen: 1,
22261		asm:    arm64.AFRINTND,
22262		reg: regInfo{
22263			inputs: []inputInfo{
22264				{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
22265			},
22266			outputs: []outputInfo{
22267				{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
22268			},
22269		},
22270	},
22271	{
22272		name:   "FRINTPD",
22273		argLen: 1,
22274		asm:    arm64.AFRINTPD,
22275		reg: regInfo{
22276			inputs: []inputInfo{
22277				{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
22278			},
22279			outputs: []outputInfo{
22280				{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
22281			},
22282		},
22283	},
22284	{
22285		name:   "FRINTZD",
22286		argLen: 1,
22287		asm:    arm64.AFRINTZD,
22288		reg: regInfo{
22289			inputs: []inputInfo{
22290				{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
22291			},
22292			outputs: []outputInfo{
22293				{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
22294			},
22295		},
22296	},
22297	{
22298		name:    "CSEL",
22299		auxType: auxCCop,
22300		argLen:  3,
22301		asm:     arm64.ACSEL,
22302		reg: regInfo{
22303			inputs: []inputInfo{
22304				{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
22305				{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
22306			},
22307			outputs: []outputInfo{
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			},
22310		},
22311	},
22312	{
22313		name:    "CSEL0",
22314		auxType: auxCCop,
22315		argLen:  2,
22316		asm:     arm64.ACSEL,
22317		reg: regInfo{
22318			inputs: []inputInfo{
22319				{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
22320			},
22321			outputs: []outputInfo{
22322				{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
22323			},
22324		},
22325	},
22326	{
22327		name:    "CSINC",
22328		auxType: auxCCop,
22329		argLen:  3,
22330		asm:     arm64.ACSINC,
22331		reg: regInfo{
22332			inputs: []inputInfo{
22333				{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
22334				{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
22335			},
22336			outputs: []outputInfo{
22337				{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
22338			},
22339		},
22340	},
22341	{
22342		name:    "CSINV",
22343		auxType: auxCCop,
22344		argLen:  3,
22345		asm:     arm64.ACSINV,
22346		reg: regInfo{
22347			inputs: []inputInfo{
22348				{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
22349				{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
22350			},
22351			outputs: []outputInfo{
22352				{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
22353			},
22354		},
22355	},
22356	{
22357		name:    "CSNEG",
22358		auxType: auxCCop,
22359		argLen:  3,
22360		asm:     arm64.ACSNEG,
22361		reg: regInfo{
22362			inputs: []inputInfo{
22363				{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
22364				{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
22365			},
22366			outputs: []outputInfo{
22367				{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
22368			},
22369		},
22370	},
22371	{
22372		name:    "CSETM",
22373		auxType: auxCCop,
22374		argLen:  1,
22375		asm:     arm64.ACSETM,
22376		reg: regInfo{
22377			outputs: []outputInfo{
22378				{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
22379			},
22380		},
22381	},
22382	{
22383		name:         "CALLstatic",
22384		auxType:      auxCallOff,
22385		argLen:       -1,
22386		clobberFlags: true,
22387		call:         true,
22388		reg: regInfo{
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:         "CALLtail",
22394		auxType:      auxCallOff,
22395		argLen:       -1,
22396		clobberFlags: true,
22397		call:         true,
22398		tailCall:     true,
22399		reg: regInfo{
22400			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
22401		},
22402	},
22403	{
22404		name:         "CALLclosure",
22405		auxType:      auxCallOff,
22406		argLen:       -1,
22407		clobberFlags: true,
22408		call:         true,
22409		reg: regInfo{
22410			inputs: []inputInfo{
22411				{1, 67108864},   // R26
22412				{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
22413			},
22414			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
22415		},
22416	},
22417	{
22418		name:         "CALLinter",
22419		auxType:      auxCallOff,
22420		argLen:       -1,
22421		clobberFlags: true,
22422		call:         true,
22423		reg: regInfo{
22424			inputs: []inputInfo{
22425				{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
22426			},
22427			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
22428		},
22429	},
22430	{
22431		name:           "LoweredNilCheck",
22432		argLen:         2,
22433		nilCheck:       true,
22434		faultOnNilArg0: true,
22435		reg: regInfo{
22436			inputs: []inputInfo{
22437				{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
22438			},
22439		},
22440	},
22441	{
22442		name:   "Equal",
22443		argLen: 1,
22444		reg: regInfo{
22445			outputs: []outputInfo{
22446				{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
22447			},
22448		},
22449	},
22450	{
22451		name:   "NotEqual",
22452		argLen: 1,
22453		reg: regInfo{
22454			outputs: []outputInfo{
22455				{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
22456			},
22457		},
22458	},
22459	{
22460		name:   "LessThan",
22461		argLen: 1,
22462		reg: regInfo{
22463			outputs: []outputInfo{
22464				{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
22465			},
22466		},
22467	},
22468	{
22469		name:   "LessEqual",
22470		argLen: 1,
22471		reg: regInfo{
22472			outputs: []outputInfo{
22473				{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
22474			},
22475		},
22476	},
22477	{
22478		name:   "GreaterThan",
22479		argLen: 1,
22480		reg: regInfo{
22481			outputs: []outputInfo{
22482				{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
22483			},
22484		},
22485	},
22486	{
22487		name:   "GreaterEqual",
22488		argLen: 1,
22489		reg: regInfo{
22490			outputs: []outputInfo{
22491				{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
22492			},
22493		},
22494	},
22495	{
22496		name:   "LessThanU",
22497		argLen: 1,
22498		reg: regInfo{
22499			outputs: []outputInfo{
22500				{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
22501			},
22502		},
22503	},
22504	{
22505		name:   "LessEqualU",
22506		argLen: 1,
22507		reg: regInfo{
22508			outputs: []outputInfo{
22509				{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
22510			},
22511		},
22512	},
22513	{
22514		name:   "GreaterThanU",
22515		argLen: 1,
22516		reg: regInfo{
22517			outputs: []outputInfo{
22518				{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
22519			},
22520		},
22521	},
22522	{
22523		name:   "GreaterEqualU",
22524		argLen: 1,
22525		reg: regInfo{
22526			outputs: []outputInfo{
22527				{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
22528			},
22529		},
22530	},
22531	{
22532		name:   "LessThanF",
22533		argLen: 1,
22534		reg: regInfo{
22535			outputs: []outputInfo{
22536				{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
22537			},
22538		},
22539	},
22540	{
22541		name:   "LessEqualF",
22542		argLen: 1,
22543		reg: regInfo{
22544			outputs: []outputInfo{
22545				{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
22546			},
22547		},
22548	},
22549	{
22550		name:   "GreaterThanF",
22551		argLen: 1,
22552		reg: regInfo{
22553			outputs: []outputInfo{
22554				{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
22555			},
22556		},
22557	},
22558	{
22559		name:   "GreaterEqualF",
22560		argLen: 1,
22561		reg: regInfo{
22562			outputs: []outputInfo{
22563				{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
22564			},
22565		},
22566	},
22567	{
22568		name:   "NotLessThanF",
22569		argLen: 1,
22570		reg: regInfo{
22571			outputs: []outputInfo{
22572				{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
22573			},
22574		},
22575	},
22576	{
22577		name:   "NotLessEqualF",
22578		argLen: 1,
22579		reg: regInfo{
22580			outputs: []outputInfo{
22581				{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
22582			},
22583		},
22584	},
22585	{
22586		name:   "NotGreaterThanF",
22587		argLen: 1,
22588		reg: regInfo{
22589			outputs: []outputInfo{
22590				{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
22591			},
22592		},
22593	},
22594	{
22595		name:   "NotGreaterEqualF",
22596		argLen: 1,
22597		reg: regInfo{
22598			outputs: []outputInfo{
22599				{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
22600			},
22601		},
22602	},
22603	{
22604		name:   "LessThanNoov",
22605		argLen: 1,
22606		reg: regInfo{
22607			outputs: []outputInfo{
22608				{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
22609			},
22610		},
22611	},
22612	{
22613		name:   "GreaterEqualNoov",
22614		argLen: 1,
22615		reg: regInfo{
22616			outputs: []outputInfo{
22617				{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
22618			},
22619		},
22620	},
22621	{
22622		name:           "DUFFZERO",
22623		auxType:        auxInt64,
22624		argLen:         2,
22625		faultOnNilArg0: true,
22626		unsafePoint:    true,
22627		reg: regInfo{
22628			inputs: []inputInfo{
22629				{0, 1048576}, // R20
22630			},
22631			clobbers: 538116096, // R16 R17 R20 R30
22632		},
22633	},
22634	{
22635		name:           "LoweredZero",
22636		argLen:         3,
22637		clobberFlags:   true,
22638		faultOnNilArg0: true,
22639		reg: regInfo{
22640			inputs: []inputInfo{
22641				{0, 65536},     // R16
22642				{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
22643			},
22644			clobbers: 65536, // R16
22645		},
22646	},
22647	{
22648		name:           "DUFFCOPY",
22649		auxType:        auxInt64,
22650		argLen:         3,
22651		faultOnNilArg0: true,
22652		faultOnNilArg1: true,
22653		unsafePoint:    true,
22654		reg: regInfo{
22655			inputs: []inputInfo{
22656				{0, 2097152}, // R21
22657				{1, 1048576}, // R20
22658			},
22659			clobbers: 607322112, // R16 R17 R20 R21 R26 R30
22660		},
22661	},
22662	{
22663		name:           "LoweredMove",
22664		argLen:         4,
22665		clobberFlags:   true,
22666		faultOnNilArg0: true,
22667		faultOnNilArg1: true,
22668		reg: regInfo{
22669			inputs: []inputInfo{
22670				{0, 131072},    // R17
22671				{1, 65536},     // R16
22672				{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
22673			},
22674			clobbers: 33751040, // R16 R17 R25
22675		},
22676	},
22677	{
22678		name:      "LoweredGetClosurePtr",
22679		argLen:    0,
22680		zeroWidth: true,
22681		reg: regInfo{
22682			outputs: []outputInfo{
22683				{0, 67108864}, // R26
22684			},
22685		},
22686	},
22687	{
22688		name:              "LoweredGetCallerSP",
22689		argLen:            1,
22690		rematerializeable: true,
22691		reg: regInfo{
22692			outputs: []outputInfo{
22693				{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
22694			},
22695		},
22696	},
22697	{
22698		name:              "LoweredGetCallerPC",
22699		argLen:            0,
22700		rematerializeable: true,
22701		reg: regInfo{
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:    "FlagConstant",
22709		auxType: auxFlagConstant,
22710		argLen:  0,
22711		reg:     regInfo{},
22712	},
22713	{
22714		name:   "InvertFlags",
22715		argLen: 1,
22716		reg:    regInfo{},
22717	},
22718	{
22719		name:           "LDAR",
22720		argLen:         2,
22721		faultOnNilArg0: true,
22722		asm:            arm64.ALDAR,
22723		reg: regInfo{
22724			inputs: []inputInfo{
22725				{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
22726			},
22727			outputs: []outputInfo{
22728				{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
22729			},
22730		},
22731	},
22732	{
22733		name:           "LDARB",
22734		argLen:         2,
22735		faultOnNilArg0: true,
22736		asm:            arm64.ALDARB,
22737		reg: regInfo{
22738			inputs: []inputInfo{
22739				{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
22740			},
22741			outputs: []outputInfo{
22742				{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
22743			},
22744		},
22745	},
22746	{
22747		name:           "LDARW",
22748		argLen:         2,
22749		faultOnNilArg0: true,
22750		asm:            arm64.ALDARW,
22751		reg: regInfo{
22752			inputs: []inputInfo{
22753				{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
22754			},
22755			outputs: []outputInfo{
22756				{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
22757			},
22758		},
22759	},
22760	{
22761		name:           "STLRB",
22762		argLen:         3,
22763		faultOnNilArg0: true,
22764		hasSideEffects: true,
22765		asm:            arm64.ASTLRB,
22766		reg: regInfo{
22767			inputs: []inputInfo{
22768				{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
22769				{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
22770			},
22771		},
22772	},
22773	{
22774		name:           "STLR",
22775		argLen:         3,
22776		faultOnNilArg0: true,
22777		hasSideEffects: true,
22778		asm:            arm64.ASTLR,
22779		reg: regInfo{
22780			inputs: []inputInfo{
22781				{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
22782				{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
22783			},
22784		},
22785	},
22786	{
22787		name:           "STLRW",
22788		argLen:         3,
22789		faultOnNilArg0: true,
22790		hasSideEffects: true,
22791		asm:            arm64.ASTLRW,
22792		reg: regInfo{
22793			inputs: []inputInfo{
22794				{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
22795				{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
22796			},
22797		},
22798	},
22799	{
22800		name:            "LoweredAtomicExchange64",
22801		argLen:          3,
22802		resultNotInArgs: true,
22803		faultOnNilArg0:  true,
22804		hasSideEffects:  true,
22805		unsafePoint:     true,
22806		reg: regInfo{
22807			inputs: []inputInfo{
22808				{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
22809				{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
22810			},
22811			outputs: []outputInfo{
22812				{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
22813			},
22814		},
22815	},
22816	{
22817		name:            "LoweredAtomicExchange32",
22818		argLen:          3,
22819		resultNotInArgs: true,
22820		faultOnNilArg0:  true,
22821		hasSideEffects:  true,
22822		unsafePoint:     true,
22823		reg: regInfo{
22824			inputs: []inputInfo{
22825				{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
22826				{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
22827			},
22828			outputs: []outputInfo{
22829				{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
22830			},
22831		},
22832	},
22833	{
22834		name:            "LoweredAtomicExchange64Variant",
22835		argLen:          3,
22836		resultNotInArgs: true,
22837		faultOnNilArg0:  true,
22838		hasSideEffects:  true,
22839		reg: regInfo{
22840			inputs: []inputInfo{
22841				{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
22842				{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
22843			},
22844			outputs: []outputInfo{
22845				{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
22846			},
22847		},
22848	},
22849	{
22850		name:            "LoweredAtomicExchange32Variant",
22851		argLen:          3,
22852		resultNotInArgs: true,
22853		faultOnNilArg0:  true,
22854		hasSideEffects:  true,
22855		reg: regInfo{
22856			inputs: []inputInfo{
22857				{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
22858				{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
22859			},
22860			outputs: []outputInfo{
22861				{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
22862			},
22863		},
22864	},
22865	{
22866		name:            "LoweredAtomicAdd64",
22867		argLen:          3,
22868		resultNotInArgs: true,
22869		faultOnNilArg0:  true,
22870		hasSideEffects:  true,
22871		unsafePoint:     true,
22872		reg: regInfo{
22873			inputs: []inputInfo{
22874				{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
22875				{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
22876			},
22877			outputs: []outputInfo{
22878				{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
22879			},
22880		},
22881	},
22882	{
22883		name:            "LoweredAtomicAdd32",
22884		argLen:          3,
22885		resultNotInArgs: true,
22886		faultOnNilArg0:  true,
22887		hasSideEffects:  true,
22888		unsafePoint:     true,
22889		reg: regInfo{
22890			inputs: []inputInfo{
22891				{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
22892				{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
22893			},
22894			outputs: []outputInfo{
22895				{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
22896			},
22897		},
22898	},
22899	{
22900		name:            "LoweredAtomicAdd64Variant",
22901		argLen:          3,
22902		resultNotInArgs: true,
22903		faultOnNilArg0:  true,
22904		hasSideEffects:  true,
22905		reg: regInfo{
22906			inputs: []inputInfo{
22907				{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
22908				{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
22909			},
22910			outputs: []outputInfo{
22911				{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
22912			},
22913		},
22914	},
22915	{
22916		name:            "LoweredAtomicAdd32Variant",
22917		argLen:          3,
22918		resultNotInArgs: true,
22919		faultOnNilArg0:  true,
22920		hasSideEffects:  true,
22921		reg: regInfo{
22922			inputs: []inputInfo{
22923				{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
22924				{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
22925			},
22926			outputs: []outputInfo{
22927				{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
22928			},
22929		},
22930	},
22931	{
22932		name:            "LoweredAtomicCas64",
22933		argLen:          4,
22934		resultNotInArgs: true,
22935		clobberFlags:    true,
22936		faultOnNilArg0:  true,
22937		hasSideEffects:  true,
22938		unsafePoint:     true,
22939		reg: regInfo{
22940			inputs: []inputInfo{
22941				{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
22942				{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
22943				{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
22944			},
22945			outputs: []outputInfo{
22946				{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
22947			},
22948		},
22949	},
22950	{
22951		name:            "LoweredAtomicCas32",
22952		argLen:          4,
22953		resultNotInArgs: true,
22954		clobberFlags:    true,
22955		faultOnNilArg0:  true,
22956		hasSideEffects:  true,
22957		unsafePoint:     true,
22958		reg: regInfo{
22959			inputs: []inputInfo{
22960				{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
22961				{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
22962				{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
22963			},
22964			outputs: []outputInfo{
22965				{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
22966			},
22967		},
22968	},
22969	{
22970		name:            "LoweredAtomicCas64Variant",
22971		argLen:          4,
22972		resultNotInArgs: true,
22973		clobberFlags:    true,
22974		faultOnNilArg0:  true,
22975		hasSideEffects:  true,
22976		unsafePoint:     true,
22977		reg: regInfo{
22978			inputs: []inputInfo{
22979				{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
22980				{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
22981				{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
22982			},
22983			outputs: []outputInfo{
22984				{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
22985			},
22986		},
22987	},
22988	{
22989		name:            "LoweredAtomicCas32Variant",
22990		argLen:          4,
22991		resultNotInArgs: true,
22992		clobberFlags:    true,
22993		faultOnNilArg0:  true,
22994		hasSideEffects:  true,
22995		unsafePoint:     true,
22996		reg: regInfo{
22997			inputs: []inputInfo{
22998				{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
22999				{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
23000				{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
23001			},
23002			outputs: []outputInfo{
23003				{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
23004			},
23005		},
23006	},
23007	{
23008		name:            "LoweredAtomicAnd8",
23009		argLen:          3,
23010		resultNotInArgs: true,
23011		needIntTemp:     true,
23012		faultOnNilArg0:  true,
23013		hasSideEffects:  true,
23014		unsafePoint:     true,
23015		asm:             arm64.AAND,
23016		reg: regInfo{
23017			inputs: []inputInfo{
23018				{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
23019				{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
23020			},
23021			outputs: []outputInfo{
23022				{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
23023			},
23024		},
23025	},
23026	{
23027		name:            "LoweredAtomicOr8",
23028		argLen:          3,
23029		resultNotInArgs: true,
23030		needIntTemp:     true,
23031		faultOnNilArg0:  true,
23032		hasSideEffects:  true,
23033		unsafePoint:     true,
23034		asm:             arm64.AORR,
23035		reg: regInfo{
23036			inputs: []inputInfo{
23037				{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
23038				{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
23039			},
23040			outputs: []outputInfo{
23041				{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
23042			},
23043		},
23044	},
23045	{
23046		name:            "LoweredAtomicAnd64",
23047		argLen:          3,
23048		resultNotInArgs: true,
23049		needIntTemp:     true,
23050		faultOnNilArg0:  true,
23051		hasSideEffects:  true,
23052		unsafePoint:     true,
23053		asm:             arm64.AAND,
23054		reg: regInfo{
23055			inputs: []inputInfo{
23056				{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
23057				{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
23058			},
23059			outputs: []outputInfo{
23060				{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
23061			},
23062		},
23063	},
23064	{
23065		name:            "LoweredAtomicOr64",
23066		argLen:          3,
23067		resultNotInArgs: true,
23068		needIntTemp:     true,
23069		faultOnNilArg0:  true,
23070		hasSideEffects:  true,
23071		unsafePoint:     true,
23072		asm:             arm64.AORR,
23073		reg: regInfo{
23074			inputs: []inputInfo{
23075				{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
23076				{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
23077			},
23078			outputs: []outputInfo{
23079				{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
23080			},
23081		},
23082	},
23083	{
23084		name:            "LoweredAtomicAnd32",
23085		argLen:          3,
23086		resultNotInArgs: true,
23087		needIntTemp:     true,
23088		faultOnNilArg0:  true,
23089		hasSideEffects:  true,
23090		unsafePoint:     true,
23091		asm:             arm64.AAND,
23092		reg: regInfo{
23093			inputs: []inputInfo{
23094				{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
23095				{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
23096			},
23097			outputs: []outputInfo{
23098				{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
23099			},
23100		},
23101	},
23102	{
23103		name:            "LoweredAtomicOr32",
23104		argLen:          3,
23105		resultNotInArgs: true,
23106		needIntTemp:     true,
23107		faultOnNilArg0:  true,
23108		hasSideEffects:  true,
23109		unsafePoint:     true,
23110		asm:             arm64.AORR,
23111		reg: regInfo{
23112			inputs: []inputInfo{
23113				{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
23114				{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
23115			},
23116			outputs: []outputInfo{
23117				{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
23118			},
23119		},
23120	},
23121	{
23122		name:            "LoweredAtomicAnd8Variant",
23123		argLen:          3,
23124		resultNotInArgs: true,
23125		faultOnNilArg0:  true,
23126		hasSideEffects:  true,
23127		unsafePoint:     true,
23128		reg: regInfo{
23129			inputs: []inputInfo{
23130				{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
23131				{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
23132			},
23133			outputs: []outputInfo{
23134				{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
23135			},
23136		},
23137	},
23138	{
23139		name:            "LoweredAtomicOr8Variant",
23140		argLen:          3,
23141		resultNotInArgs: true,
23142		faultOnNilArg0:  true,
23143		hasSideEffects:  true,
23144		reg: regInfo{
23145			inputs: []inputInfo{
23146				{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
23147				{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
23148			},
23149			outputs: []outputInfo{
23150				{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
23151			},
23152		},
23153	},
23154	{
23155		name:            "LoweredAtomicAnd64Variant",
23156		argLen:          3,
23157		resultNotInArgs: true,
23158		faultOnNilArg0:  true,
23159		hasSideEffects:  true,
23160		unsafePoint:     true,
23161		reg: regInfo{
23162			inputs: []inputInfo{
23163				{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
23164				{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
23165			},
23166			outputs: []outputInfo{
23167				{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
23168			},
23169		},
23170	},
23171	{
23172		name:            "LoweredAtomicOr64Variant",
23173		argLen:          3,
23174		resultNotInArgs: true,
23175		faultOnNilArg0:  true,
23176		hasSideEffects:  true,
23177		reg: regInfo{
23178			inputs: []inputInfo{
23179				{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
23180				{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
23181			},
23182			outputs: []outputInfo{
23183				{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
23184			},
23185		},
23186	},
23187	{
23188		name:            "LoweredAtomicAnd32Variant",
23189		argLen:          3,
23190		resultNotInArgs: true,
23191		faultOnNilArg0:  true,
23192		hasSideEffects:  true,
23193		unsafePoint:     true,
23194		reg: regInfo{
23195			inputs: []inputInfo{
23196				{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
23197				{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
23198			},
23199			outputs: []outputInfo{
23200				{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
23201			},
23202		},
23203	},
23204	{
23205		name:            "LoweredAtomicOr32Variant",
23206		argLen:          3,
23207		resultNotInArgs: true,
23208		faultOnNilArg0:  true,
23209		hasSideEffects:  true,
23210		reg: regInfo{
23211			inputs: []inputInfo{
23212				{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
23213				{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
23214			},
23215			outputs: []outputInfo{
23216				{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
23217			},
23218		},
23219	},
23220	{
23221		name:         "LoweredWB",
23222		auxType:      auxInt64,
23223		argLen:       1,
23224		clobberFlags: true,
23225		reg: regInfo{
23226			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
23227			outputs: []outputInfo{
23228				{0, 33554432}, // R25
23229			},
23230		},
23231	},
23232	{
23233		name:    "LoweredPanicBoundsA",
23234		auxType: auxInt64,
23235		argLen:  3,
23236		call:    true,
23237		reg: regInfo{
23238			inputs: []inputInfo{
23239				{0, 4}, // R2
23240				{1, 8}, // R3
23241			},
23242		},
23243	},
23244	{
23245		name:    "LoweredPanicBoundsB",
23246		auxType: auxInt64,
23247		argLen:  3,
23248		call:    true,
23249		reg: regInfo{
23250			inputs: []inputInfo{
23251				{0, 2}, // R1
23252				{1, 4}, // R2
23253			},
23254		},
23255	},
23256	{
23257		name:    "LoweredPanicBoundsC",
23258		auxType: auxInt64,
23259		argLen:  3,
23260		call:    true,
23261		reg: regInfo{
23262			inputs: []inputInfo{
23263				{0, 1}, // R0
23264				{1, 2}, // R1
23265			},
23266		},
23267	},
23268	{
23269		name:           "PRFM",
23270		auxType:        auxInt64,
23271		argLen:         2,
23272		hasSideEffects: true,
23273		asm:            arm64.APRFM,
23274		reg: regInfo{
23275			inputs: []inputInfo{
23276				{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
23277			},
23278		},
23279	},
23280	{
23281		name:           "DMB",
23282		auxType:        auxInt64,
23283		argLen:         1,
23284		hasSideEffects: true,
23285		asm:            arm64.ADMB,
23286		reg:            regInfo{},
23287	},
23288
23289	{
23290		name:        "ADDV",
23291		argLen:      2,
23292		commutative: true,
23293		asm:         loong64.AADDVU,
23294		reg: regInfo{
23295			inputs: []inputInfo{
23296				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23297				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23298			},
23299			outputs: []outputInfo{
23300				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23301			},
23302		},
23303	},
23304	{
23305		name:    "ADDVconst",
23306		auxType: auxInt64,
23307		argLen:  1,
23308		asm:     loong64.AADDVU,
23309		reg: regInfo{
23310			inputs: []inputInfo{
23311				{0, 1073741820}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23312			},
23313			outputs: []outputInfo{
23314				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23315			},
23316		},
23317	},
23318	{
23319		name:   "SUBV",
23320		argLen: 2,
23321		asm:    loong64.ASUBVU,
23322		reg: regInfo{
23323			inputs: []inputInfo{
23324				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23325				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23326			},
23327			outputs: []outputInfo{
23328				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23329			},
23330		},
23331	},
23332	{
23333		name:    "SUBVconst",
23334		auxType: auxInt64,
23335		argLen:  1,
23336		asm:     loong64.ASUBVU,
23337		reg: regInfo{
23338			inputs: []inputInfo{
23339				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23340			},
23341			outputs: []outputInfo{
23342				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23343			},
23344		},
23345	},
23346	{
23347		name:        "MULV",
23348		argLen:      2,
23349		commutative: true,
23350		asm:         loong64.AMULV,
23351		reg: regInfo{
23352			inputs: []inputInfo{
23353				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23354				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23355			},
23356			outputs: []outputInfo{
23357				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23358			},
23359		},
23360	},
23361	{
23362		name:        "MULHV",
23363		argLen:      2,
23364		commutative: true,
23365		asm:         loong64.AMULHV,
23366		reg: regInfo{
23367			inputs: []inputInfo{
23368				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23369				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23370			},
23371			outputs: []outputInfo{
23372				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23373			},
23374		},
23375	},
23376	{
23377		name:        "MULHVU",
23378		argLen:      2,
23379		commutative: true,
23380		asm:         loong64.AMULHVU,
23381		reg: regInfo{
23382			inputs: []inputInfo{
23383				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23384				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23385			},
23386			outputs: []outputInfo{
23387				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23388			},
23389		},
23390	},
23391	{
23392		name:   "DIVV",
23393		argLen: 2,
23394		asm:    loong64.ADIVV,
23395		reg: regInfo{
23396			inputs: []inputInfo{
23397				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23398				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23399			},
23400			outputs: []outputInfo{
23401				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23402			},
23403		},
23404	},
23405	{
23406		name:   "DIVVU",
23407		argLen: 2,
23408		asm:    loong64.ADIVVU,
23409		reg: regInfo{
23410			inputs: []inputInfo{
23411				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23412				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23413			},
23414			outputs: []outputInfo{
23415				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23416			},
23417		},
23418	},
23419	{
23420		name:   "REMV",
23421		argLen: 2,
23422		asm:    loong64.AREMV,
23423		reg: regInfo{
23424			inputs: []inputInfo{
23425				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23426				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23427			},
23428			outputs: []outputInfo{
23429				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23430			},
23431		},
23432	},
23433	{
23434		name:   "REMVU",
23435		argLen: 2,
23436		asm:    loong64.AREMVU,
23437		reg: regInfo{
23438			inputs: []inputInfo{
23439				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23440				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23441			},
23442			outputs: []outputInfo{
23443				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23444			},
23445		},
23446	},
23447	{
23448		name:        "ADDF",
23449		argLen:      2,
23450		commutative: true,
23451		asm:         loong64.AADDF,
23452		reg: regInfo{
23453			inputs: []inputInfo{
23454				{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
23455				{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
23456			},
23457			outputs: []outputInfo{
23458				{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
23459			},
23460		},
23461	},
23462	{
23463		name:        "ADDD",
23464		argLen:      2,
23465		commutative: true,
23466		asm:         loong64.AADDD,
23467		reg: regInfo{
23468			inputs: []inputInfo{
23469				{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
23470				{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
23471			},
23472			outputs: []outputInfo{
23473				{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
23474			},
23475		},
23476	},
23477	{
23478		name:   "SUBF",
23479		argLen: 2,
23480		asm:    loong64.ASUBF,
23481		reg: regInfo{
23482			inputs: []inputInfo{
23483				{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
23484				{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
23485			},
23486			outputs: []outputInfo{
23487				{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
23488			},
23489		},
23490	},
23491	{
23492		name:   "SUBD",
23493		argLen: 2,
23494		asm:    loong64.ASUBD,
23495		reg: regInfo{
23496			inputs: []inputInfo{
23497				{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
23498				{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
23499			},
23500			outputs: []outputInfo{
23501				{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
23502			},
23503		},
23504	},
23505	{
23506		name:        "MULF",
23507		argLen:      2,
23508		commutative: true,
23509		asm:         loong64.AMULF,
23510		reg: regInfo{
23511			inputs: []inputInfo{
23512				{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
23513				{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
23514			},
23515			outputs: []outputInfo{
23516				{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
23517			},
23518		},
23519	},
23520	{
23521		name:        "MULD",
23522		argLen:      2,
23523		commutative: true,
23524		asm:         loong64.AMULD,
23525		reg: regInfo{
23526			inputs: []inputInfo{
23527				{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
23528				{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
23529			},
23530			outputs: []outputInfo{
23531				{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
23532			},
23533		},
23534	},
23535	{
23536		name:   "DIVF",
23537		argLen: 2,
23538		asm:    loong64.ADIVF,
23539		reg: regInfo{
23540			inputs: []inputInfo{
23541				{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
23542				{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
23543			},
23544			outputs: []outputInfo{
23545				{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
23546			},
23547		},
23548	},
23549	{
23550		name:   "DIVD",
23551		argLen: 2,
23552		asm:    loong64.ADIVD,
23553		reg: regInfo{
23554			inputs: []inputInfo{
23555				{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
23556				{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
23557			},
23558			outputs: []outputInfo{
23559				{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
23560			},
23561		},
23562	},
23563	{
23564		name:        "AND",
23565		argLen:      2,
23566		commutative: true,
23567		asm:         loong64.AAND,
23568		reg: regInfo{
23569			inputs: []inputInfo{
23570				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23571				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23572			},
23573			outputs: []outputInfo{
23574				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23575			},
23576		},
23577	},
23578	{
23579		name:    "ANDconst",
23580		auxType: auxInt64,
23581		argLen:  1,
23582		asm:     loong64.AAND,
23583		reg: regInfo{
23584			inputs: []inputInfo{
23585				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23586			},
23587			outputs: []outputInfo{
23588				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23589			},
23590		},
23591	},
23592	{
23593		name:        "OR",
23594		argLen:      2,
23595		commutative: true,
23596		asm:         loong64.AOR,
23597		reg: regInfo{
23598			inputs: []inputInfo{
23599				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23600				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23601			},
23602			outputs: []outputInfo{
23603				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23604			},
23605		},
23606	},
23607	{
23608		name:    "ORconst",
23609		auxType: auxInt64,
23610		argLen:  1,
23611		asm:     loong64.AOR,
23612		reg: regInfo{
23613			inputs: []inputInfo{
23614				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23615			},
23616			outputs: []outputInfo{
23617				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23618			},
23619		},
23620	},
23621	{
23622		name:        "XOR",
23623		argLen:      2,
23624		commutative: true,
23625		asm:         loong64.AXOR,
23626		reg: regInfo{
23627			inputs: []inputInfo{
23628				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23629				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23630			},
23631			outputs: []outputInfo{
23632				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23633			},
23634		},
23635	},
23636	{
23637		name:    "XORconst",
23638		auxType: auxInt64,
23639		argLen:  1,
23640		asm:     loong64.AXOR,
23641		reg: regInfo{
23642			inputs: []inputInfo{
23643				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23644			},
23645			outputs: []outputInfo{
23646				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23647			},
23648		},
23649	},
23650	{
23651		name:        "NOR",
23652		argLen:      2,
23653		commutative: true,
23654		asm:         loong64.ANOR,
23655		reg: regInfo{
23656			inputs: []inputInfo{
23657				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23658				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23659			},
23660			outputs: []outputInfo{
23661				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23662			},
23663		},
23664	},
23665	{
23666		name:    "NORconst",
23667		auxType: auxInt64,
23668		argLen:  1,
23669		asm:     loong64.ANOR,
23670		reg: regInfo{
23671			inputs: []inputInfo{
23672				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23673			},
23674			outputs: []outputInfo{
23675				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23676			},
23677		},
23678	},
23679	{
23680		name:   "NEGV",
23681		argLen: 1,
23682		reg: regInfo{
23683			inputs: []inputInfo{
23684				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23685			},
23686			outputs: []outputInfo{
23687				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23688			},
23689		},
23690	},
23691	{
23692		name:   "NEGF",
23693		argLen: 1,
23694		asm:    loong64.ANEGF,
23695		reg: regInfo{
23696			inputs: []inputInfo{
23697				{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
23698			},
23699			outputs: []outputInfo{
23700				{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
23701			},
23702		},
23703	},
23704	{
23705		name:   "NEGD",
23706		argLen: 1,
23707		asm:    loong64.ANEGD,
23708		reg: regInfo{
23709			inputs: []inputInfo{
23710				{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
23711			},
23712			outputs: []outputInfo{
23713				{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
23714			},
23715		},
23716	},
23717	{
23718		name:   "SQRTD",
23719		argLen: 1,
23720		asm:    loong64.ASQRTD,
23721		reg: regInfo{
23722			inputs: []inputInfo{
23723				{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
23724			},
23725			outputs: []outputInfo{
23726				{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
23727			},
23728		},
23729	},
23730	{
23731		name:   "SQRTF",
23732		argLen: 1,
23733		asm:    loong64.ASQRTF,
23734		reg: regInfo{
23735			inputs: []inputInfo{
23736				{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
23737			},
23738			outputs: []outputInfo{
23739				{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
23740			},
23741		},
23742	},
23743	{
23744		name:   "MASKEQZ",
23745		argLen: 2,
23746		asm:    loong64.AMASKEQZ,
23747		reg: regInfo{
23748			inputs: []inputInfo{
23749				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23750				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23751			},
23752			outputs: []outputInfo{
23753				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23754			},
23755		},
23756	},
23757	{
23758		name:   "MASKNEZ",
23759		argLen: 2,
23760		asm:    loong64.AMASKNEZ,
23761		reg: regInfo{
23762			inputs: []inputInfo{
23763				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23764				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23765			},
23766			outputs: []outputInfo{
23767				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23768			},
23769		},
23770	},
23771	{
23772		name:   "SLLV",
23773		argLen: 2,
23774		asm:    loong64.ASLLV,
23775		reg: regInfo{
23776			inputs: []inputInfo{
23777				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23778				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23779			},
23780			outputs: []outputInfo{
23781				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23782			},
23783		},
23784	},
23785	{
23786		name:    "SLLVconst",
23787		auxType: auxInt64,
23788		argLen:  1,
23789		asm:     loong64.ASLLV,
23790		reg: regInfo{
23791			inputs: []inputInfo{
23792				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23793			},
23794			outputs: []outputInfo{
23795				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23796			},
23797		},
23798	},
23799	{
23800		name:   "SRLV",
23801		argLen: 2,
23802		asm:    loong64.ASRLV,
23803		reg: regInfo{
23804			inputs: []inputInfo{
23805				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23806				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23807			},
23808			outputs: []outputInfo{
23809				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23810			},
23811		},
23812	},
23813	{
23814		name:    "SRLVconst",
23815		auxType: auxInt64,
23816		argLen:  1,
23817		asm:     loong64.ASRLV,
23818		reg: regInfo{
23819			inputs: []inputInfo{
23820				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23821			},
23822			outputs: []outputInfo{
23823				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23824			},
23825		},
23826	},
23827	{
23828		name:   "SRAV",
23829		argLen: 2,
23830		asm:    loong64.ASRAV,
23831		reg: regInfo{
23832			inputs: []inputInfo{
23833				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23834				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23835			},
23836			outputs: []outputInfo{
23837				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23838			},
23839		},
23840	},
23841	{
23842		name:    "SRAVconst",
23843		auxType: auxInt64,
23844		argLen:  1,
23845		asm:     loong64.ASRAV,
23846		reg: regInfo{
23847			inputs: []inputInfo{
23848				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23849			},
23850			outputs: []outputInfo{
23851				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23852			},
23853		},
23854	},
23855	{
23856		name:   "ROTR",
23857		argLen: 2,
23858		asm:    loong64.AROTR,
23859		reg: regInfo{
23860			inputs: []inputInfo{
23861				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23862				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23863			},
23864			outputs: []outputInfo{
23865				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23866			},
23867		},
23868	},
23869	{
23870		name:   "ROTRV",
23871		argLen: 2,
23872		asm:    loong64.AROTRV,
23873		reg: regInfo{
23874			inputs: []inputInfo{
23875				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23876				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23877			},
23878			outputs: []outputInfo{
23879				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23880			},
23881		},
23882	},
23883	{
23884		name:    "ROTRconst",
23885		auxType: auxInt64,
23886		argLen:  1,
23887		asm:     loong64.AROTR,
23888		reg: regInfo{
23889			inputs: []inputInfo{
23890				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23891			},
23892			outputs: []outputInfo{
23893				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23894			},
23895		},
23896	},
23897	{
23898		name:    "ROTRVconst",
23899		auxType: auxInt64,
23900		argLen:  1,
23901		asm:     loong64.AROTRV,
23902		reg: regInfo{
23903			inputs: []inputInfo{
23904				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23905			},
23906			outputs: []outputInfo{
23907				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23908			},
23909		},
23910	},
23911	{
23912		name:   "SGT",
23913		argLen: 2,
23914		asm:    loong64.ASGT,
23915		reg: regInfo{
23916			inputs: []inputInfo{
23917				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23918				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23919			},
23920			outputs: []outputInfo{
23921				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23922			},
23923		},
23924	},
23925	{
23926		name:    "SGTconst",
23927		auxType: auxInt64,
23928		argLen:  1,
23929		asm:     loong64.ASGT,
23930		reg: regInfo{
23931			inputs: []inputInfo{
23932				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23933			},
23934			outputs: []outputInfo{
23935				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23936			},
23937		},
23938	},
23939	{
23940		name:   "SGTU",
23941		argLen: 2,
23942		asm:    loong64.ASGTU,
23943		reg: regInfo{
23944			inputs: []inputInfo{
23945				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23946				{1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23947			},
23948			outputs: []outputInfo{
23949				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23950			},
23951		},
23952	},
23953	{
23954		name:    "SGTUconst",
23955		auxType: auxInt64,
23956		argLen:  1,
23957		asm:     loong64.ASGTU,
23958		reg: regInfo{
23959			inputs: []inputInfo{
23960				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
23961			},
23962			outputs: []outputInfo{
23963				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
23964			},
23965		},
23966	},
23967	{
23968		name:   "CMPEQF",
23969		argLen: 2,
23970		asm:    loong64.ACMPEQF,
23971		reg: regInfo{
23972			inputs: []inputInfo{
23973				{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
23974				{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
23975			},
23976		},
23977	},
23978	{
23979		name:   "CMPEQD",
23980		argLen: 2,
23981		asm:    loong64.ACMPEQD,
23982		reg: regInfo{
23983			inputs: []inputInfo{
23984				{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
23985				{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
23986			},
23987		},
23988	},
23989	{
23990		name:   "CMPGEF",
23991		argLen: 2,
23992		asm:    loong64.ACMPGEF,
23993		reg: regInfo{
23994			inputs: []inputInfo{
23995				{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
23996				{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
23997			},
23998		},
23999	},
24000	{
24001		name:   "CMPGED",
24002		argLen: 2,
24003		asm:    loong64.ACMPGED,
24004		reg: regInfo{
24005			inputs: []inputInfo{
24006				{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
24007				{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
24008			},
24009		},
24010	},
24011	{
24012		name:   "CMPGTF",
24013		argLen: 2,
24014		asm:    loong64.ACMPGTF,
24015		reg: regInfo{
24016			inputs: []inputInfo{
24017				{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
24018				{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
24019			},
24020		},
24021	},
24022	{
24023		name:   "CMPGTD",
24024		argLen: 2,
24025		asm:    loong64.ACMPGTD,
24026		reg: regInfo{
24027			inputs: []inputInfo{
24028				{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
24029				{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
24030			},
24031		},
24032	},
24033	{
24034		name:              "MOVVconst",
24035		auxType:           auxInt64,
24036		argLen:            0,
24037		rematerializeable: true,
24038		asm:               loong64.AMOVV,
24039		reg: regInfo{
24040			outputs: []outputInfo{
24041				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24042			},
24043		},
24044	},
24045	{
24046		name:              "MOVFconst",
24047		auxType:           auxFloat64,
24048		argLen:            0,
24049		rematerializeable: true,
24050		asm:               loong64.AMOVF,
24051		reg: regInfo{
24052			outputs: []outputInfo{
24053				{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
24054			},
24055		},
24056	},
24057	{
24058		name:              "MOVDconst",
24059		auxType:           auxFloat64,
24060		argLen:            0,
24061		rematerializeable: true,
24062		asm:               loong64.AMOVD,
24063		reg: regInfo{
24064			outputs: []outputInfo{
24065				{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
24066			},
24067		},
24068	},
24069	{
24070		name:              "MOVVaddr",
24071		auxType:           auxSymOff,
24072		argLen:            1,
24073		rematerializeable: true,
24074		symEffect:         SymAddr,
24075		asm:               loong64.AMOVV,
24076		reg: regInfo{
24077			inputs: []inputInfo{
24078				{0, 4611686018427387908}, // SP SB
24079			},
24080			outputs: []outputInfo{
24081				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24082			},
24083		},
24084	},
24085	{
24086		name:           "MOVBload",
24087		auxType:        auxSymOff,
24088		argLen:         2,
24089		faultOnNilArg0: true,
24090		symEffect:      SymRead,
24091		asm:            loong64.AMOVB,
24092		reg: regInfo{
24093			inputs: []inputInfo{
24094				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24095			},
24096			outputs: []outputInfo{
24097				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24098			},
24099		},
24100	},
24101	{
24102		name:           "MOVBUload",
24103		auxType:        auxSymOff,
24104		argLen:         2,
24105		faultOnNilArg0: true,
24106		symEffect:      SymRead,
24107		asm:            loong64.AMOVBU,
24108		reg: regInfo{
24109			inputs: []inputInfo{
24110				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24111			},
24112			outputs: []outputInfo{
24113				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24114			},
24115		},
24116	},
24117	{
24118		name:           "MOVHload",
24119		auxType:        auxSymOff,
24120		argLen:         2,
24121		faultOnNilArg0: true,
24122		symEffect:      SymRead,
24123		asm:            loong64.AMOVH,
24124		reg: regInfo{
24125			inputs: []inputInfo{
24126				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24127			},
24128			outputs: []outputInfo{
24129				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24130			},
24131		},
24132	},
24133	{
24134		name:           "MOVHUload",
24135		auxType:        auxSymOff,
24136		argLen:         2,
24137		faultOnNilArg0: true,
24138		symEffect:      SymRead,
24139		asm:            loong64.AMOVHU,
24140		reg: regInfo{
24141			inputs: []inputInfo{
24142				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24143			},
24144			outputs: []outputInfo{
24145				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24146			},
24147		},
24148	},
24149	{
24150		name:           "MOVWload",
24151		auxType:        auxSymOff,
24152		argLen:         2,
24153		faultOnNilArg0: true,
24154		symEffect:      SymRead,
24155		asm:            loong64.AMOVW,
24156		reg: regInfo{
24157			inputs: []inputInfo{
24158				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24159			},
24160			outputs: []outputInfo{
24161				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24162			},
24163		},
24164	},
24165	{
24166		name:           "MOVWUload",
24167		auxType:        auxSymOff,
24168		argLen:         2,
24169		faultOnNilArg0: true,
24170		symEffect:      SymRead,
24171		asm:            loong64.AMOVWU,
24172		reg: regInfo{
24173			inputs: []inputInfo{
24174				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24175			},
24176			outputs: []outputInfo{
24177				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24178			},
24179		},
24180	},
24181	{
24182		name:           "MOVVload",
24183		auxType:        auxSymOff,
24184		argLen:         2,
24185		faultOnNilArg0: true,
24186		symEffect:      SymRead,
24187		asm:            loong64.AMOVV,
24188		reg: regInfo{
24189			inputs: []inputInfo{
24190				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24191			},
24192			outputs: []outputInfo{
24193				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24194			},
24195		},
24196	},
24197	{
24198		name:           "MOVFload",
24199		auxType:        auxSymOff,
24200		argLen:         2,
24201		faultOnNilArg0: true,
24202		symEffect:      SymRead,
24203		asm:            loong64.AMOVF,
24204		reg: regInfo{
24205			inputs: []inputInfo{
24206				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24207			},
24208			outputs: []outputInfo{
24209				{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
24210			},
24211		},
24212	},
24213	{
24214		name:           "MOVDload",
24215		auxType:        auxSymOff,
24216		argLen:         2,
24217		faultOnNilArg0: true,
24218		symEffect:      SymRead,
24219		asm:            loong64.AMOVD,
24220		reg: regInfo{
24221			inputs: []inputInfo{
24222				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24223			},
24224			outputs: []outputInfo{
24225				{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
24226			},
24227		},
24228	},
24229	{
24230		name:           "MOVBstore",
24231		auxType:        auxSymOff,
24232		argLen:         3,
24233		faultOnNilArg0: true,
24234		symEffect:      SymWrite,
24235		asm:            loong64.AMOVB,
24236		reg: regInfo{
24237			inputs: []inputInfo{
24238				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24239				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24240			},
24241		},
24242	},
24243	{
24244		name:           "MOVHstore",
24245		auxType:        auxSymOff,
24246		argLen:         3,
24247		faultOnNilArg0: true,
24248		symEffect:      SymWrite,
24249		asm:            loong64.AMOVH,
24250		reg: regInfo{
24251			inputs: []inputInfo{
24252				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24253				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24254			},
24255		},
24256	},
24257	{
24258		name:           "MOVWstore",
24259		auxType:        auxSymOff,
24260		argLen:         3,
24261		faultOnNilArg0: true,
24262		symEffect:      SymWrite,
24263		asm:            loong64.AMOVW,
24264		reg: regInfo{
24265			inputs: []inputInfo{
24266				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24267				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24268			},
24269		},
24270	},
24271	{
24272		name:           "MOVVstore",
24273		auxType:        auxSymOff,
24274		argLen:         3,
24275		faultOnNilArg0: true,
24276		symEffect:      SymWrite,
24277		asm:            loong64.AMOVV,
24278		reg: regInfo{
24279			inputs: []inputInfo{
24280				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24281				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24282			},
24283		},
24284	},
24285	{
24286		name:           "MOVFstore",
24287		auxType:        auxSymOff,
24288		argLen:         3,
24289		faultOnNilArg0: true,
24290		symEffect:      SymWrite,
24291		asm:            loong64.AMOVF,
24292		reg: regInfo{
24293			inputs: []inputInfo{
24294				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24295				{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
24296			},
24297		},
24298	},
24299	{
24300		name:           "MOVDstore",
24301		auxType:        auxSymOff,
24302		argLen:         3,
24303		faultOnNilArg0: true,
24304		symEffect:      SymWrite,
24305		asm:            loong64.AMOVD,
24306		reg: regInfo{
24307			inputs: []inputInfo{
24308				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24309				{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
24310			},
24311		},
24312	},
24313	{
24314		name:           "MOVBstorezero",
24315		auxType:        auxSymOff,
24316		argLen:         2,
24317		faultOnNilArg0: true,
24318		symEffect:      SymWrite,
24319		asm:            loong64.AMOVB,
24320		reg: regInfo{
24321			inputs: []inputInfo{
24322				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24323			},
24324		},
24325	},
24326	{
24327		name:           "MOVHstorezero",
24328		auxType:        auxSymOff,
24329		argLen:         2,
24330		faultOnNilArg0: true,
24331		symEffect:      SymWrite,
24332		asm:            loong64.AMOVH,
24333		reg: regInfo{
24334			inputs: []inputInfo{
24335				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24336			},
24337		},
24338	},
24339	{
24340		name:           "MOVWstorezero",
24341		auxType:        auxSymOff,
24342		argLen:         2,
24343		faultOnNilArg0: true,
24344		symEffect:      SymWrite,
24345		asm:            loong64.AMOVW,
24346		reg: regInfo{
24347			inputs: []inputInfo{
24348				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24349			},
24350		},
24351	},
24352	{
24353		name:           "MOVVstorezero",
24354		auxType:        auxSymOff,
24355		argLen:         2,
24356		faultOnNilArg0: true,
24357		symEffect:      SymWrite,
24358		asm:            loong64.AMOVV,
24359		reg: regInfo{
24360			inputs: []inputInfo{
24361				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24362			},
24363		},
24364	},
24365	{
24366		name:   "MOVBreg",
24367		argLen: 1,
24368		asm:    loong64.AMOVB,
24369		reg: regInfo{
24370			inputs: []inputInfo{
24371				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24372			},
24373			outputs: []outputInfo{
24374				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24375			},
24376		},
24377	},
24378	{
24379		name:   "MOVBUreg",
24380		argLen: 1,
24381		asm:    loong64.AMOVBU,
24382		reg: regInfo{
24383			inputs: []inputInfo{
24384				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24385			},
24386			outputs: []outputInfo{
24387				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24388			},
24389		},
24390	},
24391	{
24392		name:   "MOVHreg",
24393		argLen: 1,
24394		asm:    loong64.AMOVH,
24395		reg: regInfo{
24396			inputs: []inputInfo{
24397				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24398			},
24399			outputs: []outputInfo{
24400				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24401			},
24402		},
24403	},
24404	{
24405		name:   "MOVHUreg",
24406		argLen: 1,
24407		asm:    loong64.AMOVHU,
24408		reg: regInfo{
24409			inputs: []inputInfo{
24410				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24411			},
24412			outputs: []outputInfo{
24413				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24414			},
24415		},
24416	},
24417	{
24418		name:   "MOVWreg",
24419		argLen: 1,
24420		asm:    loong64.AMOVW,
24421		reg: regInfo{
24422			inputs: []inputInfo{
24423				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24424			},
24425			outputs: []outputInfo{
24426				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24427			},
24428		},
24429	},
24430	{
24431		name:   "MOVWUreg",
24432		argLen: 1,
24433		asm:    loong64.AMOVWU,
24434		reg: regInfo{
24435			inputs: []inputInfo{
24436				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24437			},
24438			outputs: []outputInfo{
24439				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24440			},
24441		},
24442	},
24443	{
24444		name:   "MOVVreg",
24445		argLen: 1,
24446		asm:    loong64.AMOVV,
24447		reg: regInfo{
24448			inputs: []inputInfo{
24449				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24450			},
24451			outputs: []outputInfo{
24452				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24453			},
24454		},
24455	},
24456	{
24457		name:         "MOVVnop",
24458		argLen:       1,
24459		resultInArg0: true,
24460		reg: regInfo{
24461			inputs: []inputInfo{
24462				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24463			},
24464			outputs: []outputInfo{
24465				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24466			},
24467		},
24468	},
24469	{
24470		name:   "MOVWF",
24471		argLen: 1,
24472		asm:    loong64.AMOVWF,
24473		reg: regInfo{
24474			inputs: []inputInfo{
24475				{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
24476			},
24477			outputs: []outputInfo{
24478				{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
24479			},
24480		},
24481	},
24482	{
24483		name:   "MOVWD",
24484		argLen: 1,
24485		asm:    loong64.AMOVWD,
24486		reg: regInfo{
24487			inputs: []inputInfo{
24488				{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
24489			},
24490			outputs: []outputInfo{
24491				{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
24492			},
24493		},
24494	},
24495	{
24496		name:   "MOVVF",
24497		argLen: 1,
24498		asm:    loong64.AMOVVF,
24499		reg: regInfo{
24500			inputs: []inputInfo{
24501				{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
24502			},
24503			outputs: []outputInfo{
24504				{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
24505			},
24506		},
24507	},
24508	{
24509		name:   "MOVVD",
24510		argLen: 1,
24511		asm:    loong64.AMOVVD,
24512		reg: regInfo{
24513			inputs: []inputInfo{
24514				{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
24515			},
24516			outputs: []outputInfo{
24517				{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
24518			},
24519		},
24520	},
24521	{
24522		name:   "TRUNCFW",
24523		argLen: 1,
24524		asm:    loong64.ATRUNCFW,
24525		reg: regInfo{
24526			inputs: []inputInfo{
24527				{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
24528			},
24529			outputs: []outputInfo{
24530				{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
24531			},
24532		},
24533	},
24534	{
24535		name:   "TRUNCDW",
24536		argLen: 1,
24537		asm:    loong64.ATRUNCDW,
24538		reg: regInfo{
24539			inputs: []inputInfo{
24540				{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
24541			},
24542			outputs: []outputInfo{
24543				{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
24544			},
24545		},
24546	},
24547	{
24548		name:   "TRUNCFV",
24549		argLen: 1,
24550		asm:    loong64.ATRUNCFV,
24551		reg: regInfo{
24552			inputs: []inputInfo{
24553				{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
24554			},
24555			outputs: []outputInfo{
24556				{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
24557			},
24558		},
24559	},
24560	{
24561		name:   "TRUNCDV",
24562		argLen: 1,
24563		asm:    loong64.ATRUNCDV,
24564		reg: regInfo{
24565			inputs: []inputInfo{
24566				{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
24567			},
24568			outputs: []outputInfo{
24569				{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
24570			},
24571		},
24572	},
24573	{
24574		name:   "MOVFD",
24575		argLen: 1,
24576		asm:    loong64.AMOVFD,
24577		reg: regInfo{
24578			inputs: []inputInfo{
24579				{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
24580			},
24581			outputs: []outputInfo{
24582				{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
24583			},
24584		},
24585	},
24586	{
24587		name:   "MOVDF",
24588		argLen: 1,
24589		asm:    loong64.AMOVDF,
24590		reg: regInfo{
24591			inputs: []inputInfo{
24592				{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
24593			},
24594			outputs: []outputInfo{
24595				{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
24596			},
24597		},
24598	},
24599	{
24600		name:         "CALLstatic",
24601		auxType:      auxCallOff,
24602		argLen:       -1,
24603		clobberFlags: true,
24604		call:         true,
24605		reg: regInfo{
24606			clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 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
24607		},
24608	},
24609	{
24610		name:         "CALLtail",
24611		auxType:      auxCallOff,
24612		argLen:       -1,
24613		clobberFlags: true,
24614		call:         true,
24615		tailCall:     true,
24616		reg: regInfo{
24617			clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 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
24618		},
24619	},
24620	{
24621		name:         "CALLclosure",
24622		auxType:      auxCallOff,
24623		argLen:       -1,
24624		clobberFlags: true,
24625		call:         true,
24626		reg: regInfo{
24627			inputs: []inputInfo{
24628				{1, 268435456},  // R29
24629				{0, 1071644668}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24630			},
24631			clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 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
24632		},
24633	},
24634	{
24635		name:         "CALLinter",
24636		auxType:      auxCallOff,
24637		argLen:       -1,
24638		clobberFlags: true,
24639		call:         true,
24640		reg: regInfo{
24641			inputs: []inputInfo{
24642				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24643			},
24644			clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 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
24645		},
24646	},
24647	{
24648		name:           "DUFFZERO",
24649		auxType:        auxInt64,
24650		argLen:         2,
24651		faultOnNilArg0: true,
24652		reg: regInfo{
24653			inputs: []inputInfo{
24654				{0, 524288}, // R20
24655			},
24656			clobbers: 524290, // R1 R20
24657		},
24658	},
24659	{
24660		name:           "DUFFCOPY",
24661		auxType:        auxInt64,
24662		argLen:         3,
24663		faultOnNilArg0: true,
24664		faultOnNilArg1: true,
24665		reg: regInfo{
24666			inputs: []inputInfo{
24667				{0, 1048576}, // R21
24668				{1, 524288},  // R20
24669			},
24670			clobbers: 1572866, // R1 R20 R21
24671		},
24672	},
24673	{
24674		name:           "LoweredZero",
24675		auxType:        auxInt64,
24676		argLen:         3,
24677		faultOnNilArg0: true,
24678		reg: regInfo{
24679			inputs: []inputInfo{
24680				{0, 524288},     // R20
24681				{1, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24682			},
24683			clobbers: 524288, // R20
24684		},
24685	},
24686	{
24687		name:           "LoweredMove",
24688		auxType:        auxInt64,
24689		argLen:         4,
24690		faultOnNilArg0: true,
24691		faultOnNilArg1: true,
24692		reg: regInfo{
24693			inputs: []inputInfo{
24694				{0, 1048576},    // R21
24695				{1, 524288},     // R20
24696				{2, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24697			},
24698			clobbers: 1572864, // R20 R21
24699		},
24700	},
24701	{
24702		name:           "LoweredAtomicLoad8",
24703		argLen:         2,
24704		faultOnNilArg0: true,
24705		reg: regInfo{
24706			inputs: []inputInfo{
24707				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24708			},
24709			outputs: []outputInfo{
24710				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24711			},
24712		},
24713	},
24714	{
24715		name:           "LoweredAtomicLoad32",
24716		argLen:         2,
24717		faultOnNilArg0: true,
24718		reg: regInfo{
24719			inputs: []inputInfo{
24720				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24721			},
24722			outputs: []outputInfo{
24723				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24724			},
24725		},
24726	},
24727	{
24728		name:           "LoweredAtomicLoad64",
24729		argLen:         2,
24730		faultOnNilArg0: true,
24731		reg: regInfo{
24732			inputs: []inputInfo{
24733				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24734			},
24735			outputs: []outputInfo{
24736				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24737			},
24738		},
24739	},
24740	{
24741		name:           "LoweredAtomicStore8",
24742		argLen:         3,
24743		faultOnNilArg0: true,
24744		hasSideEffects: true,
24745		reg: regInfo{
24746			inputs: []inputInfo{
24747				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24748				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24749			},
24750		},
24751	},
24752	{
24753		name:           "LoweredAtomicStore32",
24754		argLen:         3,
24755		faultOnNilArg0: true,
24756		hasSideEffects: true,
24757		reg: regInfo{
24758			inputs: []inputInfo{
24759				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24760				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24761			},
24762		},
24763	},
24764	{
24765		name:           "LoweredAtomicStore64",
24766		argLen:         3,
24767		faultOnNilArg0: true,
24768		hasSideEffects: true,
24769		reg: regInfo{
24770			inputs: []inputInfo{
24771				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24772				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24773			},
24774		},
24775	},
24776	{
24777		name:           "LoweredAtomicStorezero32",
24778		argLen:         2,
24779		faultOnNilArg0: true,
24780		hasSideEffects: true,
24781		reg: regInfo{
24782			inputs: []inputInfo{
24783				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24784			},
24785		},
24786	},
24787	{
24788		name:           "LoweredAtomicStorezero64",
24789		argLen:         2,
24790		faultOnNilArg0: true,
24791		hasSideEffects: true,
24792		reg: regInfo{
24793			inputs: []inputInfo{
24794				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24795			},
24796		},
24797	},
24798	{
24799		name:            "LoweredAtomicExchange32",
24800		argLen:          3,
24801		resultNotInArgs: true,
24802		faultOnNilArg0:  true,
24803		hasSideEffects:  true,
24804		unsafePoint:     true,
24805		reg: regInfo{
24806			inputs: []inputInfo{
24807				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24808				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24809			},
24810			outputs: []outputInfo{
24811				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24812			},
24813		},
24814	},
24815	{
24816		name:            "LoweredAtomicExchange64",
24817		argLen:          3,
24818		resultNotInArgs: true,
24819		faultOnNilArg0:  true,
24820		hasSideEffects:  true,
24821		unsafePoint:     true,
24822		reg: regInfo{
24823			inputs: []inputInfo{
24824				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24825				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24826			},
24827			outputs: []outputInfo{
24828				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24829			},
24830		},
24831	},
24832	{
24833		name:            "LoweredAtomicAdd32",
24834		argLen:          3,
24835		resultNotInArgs: true,
24836		faultOnNilArg0:  true,
24837		hasSideEffects:  true,
24838		unsafePoint:     true,
24839		reg: regInfo{
24840			inputs: []inputInfo{
24841				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24842				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24843			},
24844			outputs: []outputInfo{
24845				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24846			},
24847		},
24848	},
24849	{
24850		name:            "LoweredAtomicAdd64",
24851		argLen:          3,
24852		resultNotInArgs: true,
24853		faultOnNilArg0:  true,
24854		hasSideEffects:  true,
24855		unsafePoint:     true,
24856		reg: regInfo{
24857			inputs: []inputInfo{
24858				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24859				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24860			},
24861			outputs: []outputInfo{
24862				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24863			},
24864		},
24865	},
24866	{
24867		name:            "LoweredAtomicAddconst32",
24868		auxType:         auxInt32,
24869		argLen:          2,
24870		resultNotInArgs: true,
24871		faultOnNilArg0:  true,
24872		hasSideEffects:  true,
24873		unsafePoint:     true,
24874		reg: regInfo{
24875			inputs: []inputInfo{
24876				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24877			},
24878			outputs: []outputInfo{
24879				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24880			},
24881		},
24882	},
24883	{
24884		name:            "LoweredAtomicAddconst64",
24885		auxType:         auxInt64,
24886		argLen:          2,
24887		resultNotInArgs: true,
24888		faultOnNilArg0:  true,
24889		hasSideEffects:  true,
24890		unsafePoint:     true,
24891		reg: regInfo{
24892			inputs: []inputInfo{
24893				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24894			},
24895			outputs: []outputInfo{
24896				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24897			},
24898		},
24899	},
24900	{
24901		name:            "LoweredAtomicCas32",
24902		argLen:          4,
24903		resultNotInArgs: true,
24904		faultOnNilArg0:  true,
24905		hasSideEffects:  true,
24906		unsafePoint:     true,
24907		reg: regInfo{
24908			inputs: []inputInfo{
24909				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24910				{2, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24911				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24912			},
24913			outputs: []outputInfo{
24914				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24915			},
24916		},
24917	},
24918	{
24919		name:            "LoweredAtomicCas64",
24920		argLen:          4,
24921		resultNotInArgs: true,
24922		faultOnNilArg0:  true,
24923		hasSideEffects:  true,
24924		unsafePoint:     true,
24925		reg: regInfo{
24926			inputs: []inputInfo{
24927				{1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24928				{2, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24929				{0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
24930			},
24931			outputs: []outputInfo{
24932				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24933			},
24934		},
24935	},
24936	{
24937		name:           "LoweredNilCheck",
24938		argLen:         2,
24939		nilCheck:       true,
24940		faultOnNilArg0: true,
24941		reg: regInfo{
24942			inputs: []inputInfo{
24943				{0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
24944			},
24945		},
24946	},
24947	{
24948		name:   "FPFlagTrue",
24949		argLen: 1,
24950		reg: regInfo{
24951			outputs: []outputInfo{
24952				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24953			},
24954		},
24955	},
24956	{
24957		name:   "FPFlagFalse",
24958		argLen: 1,
24959		reg: regInfo{
24960			outputs: []outputInfo{
24961				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24962			},
24963		},
24964	},
24965	{
24966		name:      "LoweredGetClosurePtr",
24967		argLen:    0,
24968		zeroWidth: true,
24969		reg: regInfo{
24970			outputs: []outputInfo{
24971				{0, 268435456}, // R29
24972			},
24973		},
24974	},
24975	{
24976		name:              "LoweredGetCallerSP",
24977		argLen:            1,
24978		rematerializeable: true,
24979		reg: regInfo{
24980			outputs: []outputInfo{
24981				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24982			},
24983		},
24984	},
24985	{
24986		name:              "LoweredGetCallerPC",
24987		argLen:            0,
24988		rematerializeable: true,
24989		reg: regInfo{
24990			outputs: []outputInfo{
24991				{0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
24992			},
24993		},
24994	},
24995	{
24996		name:         "LoweredWB",
24997		auxType:      auxInt64,
24998		argLen:       1,
24999		clobberFlags: true,
25000		reg: regInfo{
25001			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
25002			outputs: []outputInfo{
25003				{0, 268435456}, // R29
25004			},
25005		},
25006	},
25007	{
25008		name:    "LoweredPanicBoundsA",
25009		auxType: auxInt64,
25010		argLen:  3,
25011		call:    true,
25012		reg: regInfo{
25013			inputs: []inputInfo{
25014				{0, 4194304}, // R23
25015				{1, 8388608}, // R24
25016			},
25017		},
25018	},
25019	{
25020		name:    "LoweredPanicBoundsB",
25021		auxType: auxInt64,
25022		argLen:  3,
25023		call:    true,
25024		reg: regInfo{
25025			inputs: []inputInfo{
25026				{0, 1048576}, // R21
25027				{1, 4194304}, // R23
25028			},
25029		},
25030	},
25031	{
25032		name:    "LoweredPanicBoundsC",
25033		auxType: auxInt64,
25034		argLen:  3,
25035		call:    true,
25036		reg: regInfo{
25037			inputs: []inputInfo{
25038				{0, 524288},  // R20
25039				{1, 1048576}, // R21
25040			},
25041		},
25042	},
25043
25044	{
25045		name:        "ADD",
25046		argLen:      2,
25047		commutative: true,
25048		asm:         mips.AADDU,
25049		reg: regInfo{
25050			inputs: []inputInfo{
25051				{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
25052				{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
25053			},
25054			outputs: []outputInfo{
25055				{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
25056			},
25057		},
25058	},
25059	{
25060		name:    "ADDconst",
25061		auxType: auxInt32,
25062		argLen:  1,
25063		asm:     mips.AADDU,
25064		reg: regInfo{
25065			inputs: []inputInfo{
25066				{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
25067			},
25068			outputs: []outputInfo{
25069				{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
25070			},
25071		},
25072	},
25073	{
25074		name:   "SUB",
25075		argLen: 2,
25076		asm:    mips.ASUBU,
25077		reg: regInfo{
25078			inputs: []inputInfo{
25079				{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
25080				{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
25081			},
25082			outputs: []outputInfo{
25083				{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
25084			},
25085		},
25086	},
25087	{
25088		name:    "SUBconst",
25089		auxType: auxInt32,
25090		argLen:  1,
25091		asm:     mips.ASUBU,
25092		reg: regInfo{
25093			inputs: []inputInfo{
25094				{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
25095			},
25096			outputs: []outputInfo{
25097				{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
25098			},
25099		},
25100	},
25101	{
25102		name:        "MUL",
25103		argLen:      2,
25104		commutative: true,
25105		asm:         mips.AMUL,
25106		reg: regInfo{
25107			inputs: []inputInfo{
25108				{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
25109				{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
25110			},
25111			clobbers: 105553116266496, // HI LO
25112			outputs: []outputInfo{
25113				{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
25114			},
25115		},
25116	},
25117	{
25118		name:        "MULT",
25119		argLen:      2,
25120		commutative: true,
25121		asm:         mips.AMUL,
25122		reg: regInfo{
25123			inputs: []inputInfo{
25124				{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
25125				{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
25126			},
25127			outputs: []outputInfo{
25128				{0, 35184372088832}, // HI
25129				{1, 70368744177664}, // LO
25130			},
25131		},
25132	},
25133	{
25134		name:        "MULTU",
25135		argLen:      2,
25136		commutative: true,
25137		asm:         mips.AMULU,
25138		reg: regInfo{
25139			inputs: []inputInfo{
25140				{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
25141				{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
25142			},
25143			outputs: []outputInfo{
25144				{0, 35184372088832}, // HI
25145				{1, 70368744177664}, // LO
25146			},
25147		},
25148	},
25149	{
25150		name:   "DIV",
25151		argLen: 2,
25152		asm:    mips.ADIV,
25153		reg: regInfo{
25154			inputs: []inputInfo{
25155				{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
25156				{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
25157			},
25158			outputs: []outputInfo{
25159				{0, 35184372088832}, // HI
25160				{1, 70368744177664}, // LO
25161			},
25162		},
25163	},
25164	{
25165		name:   "DIVU",
25166		argLen: 2,
25167		asm:    mips.ADIVU,
25168		reg: regInfo{
25169			inputs: []inputInfo{
25170				{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
25171				{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
25172			},
25173			outputs: []outputInfo{
25174				{0, 35184372088832}, // HI
25175				{1, 70368744177664}, // LO
25176			},
25177		},
25178	},
25179	{
25180		name:        "ADDF",
25181		argLen:      2,
25182		commutative: true,
25183		asm:         mips.AADDF,
25184		reg: regInfo{
25185			inputs: []inputInfo{
25186				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25187				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25188			},
25189			outputs: []outputInfo{
25190				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25191			},
25192		},
25193	},
25194	{
25195		name:        "ADDD",
25196		argLen:      2,
25197		commutative: true,
25198		asm:         mips.AADDD,
25199		reg: regInfo{
25200			inputs: []inputInfo{
25201				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25202				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25203			},
25204			outputs: []outputInfo{
25205				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25206			},
25207		},
25208	},
25209	{
25210		name:   "SUBF",
25211		argLen: 2,
25212		asm:    mips.ASUBF,
25213		reg: regInfo{
25214			inputs: []inputInfo{
25215				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25216				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25217			},
25218			outputs: []outputInfo{
25219				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25220			},
25221		},
25222	},
25223	{
25224		name:   "SUBD",
25225		argLen: 2,
25226		asm:    mips.ASUBD,
25227		reg: regInfo{
25228			inputs: []inputInfo{
25229				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25230				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25231			},
25232			outputs: []outputInfo{
25233				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25234			},
25235		},
25236	},
25237	{
25238		name:        "MULF",
25239		argLen:      2,
25240		commutative: true,
25241		asm:         mips.AMULF,
25242		reg: regInfo{
25243			inputs: []inputInfo{
25244				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25245				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25246			},
25247			outputs: []outputInfo{
25248				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25249			},
25250		},
25251	},
25252	{
25253		name:        "MULD",
25254		argLen:      2,
25255		commutative: true,
25256		asm:         mips.AMULD,
25257		reg: regInfo{
25258			inputs: []inputInfo{
25259				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25260				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25261			},
25262			outputs: []outputInfo{
25263				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25264			},
25265		},
25266	},
25267	{
25268		name:   "DIVF",
25269		argLen: 2,
25270		asm:    mips.ADIVF,
25271		reg: regInfo{
25272			inputs: []inputInfo{
25273				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25274				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25275			},
25276			outputs: []outputInfo{
25277				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25278			},
25279		},
25280	},
25281	{
25282		name:   "DIVD",
25283		argLen: 2,
25284		asm:    mips.ADIVD,
25285		reg: regInfo{
25286			inputs: []inputInfo{
25287				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25288				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25289			},
25290			outputs: []outputInfo{
25291				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25292			},
25293		},
25294	},
25295	{
25296		name:        "AND",
25297		argLen:      2,
25298		commutative: true,
25299		asm:         mips.AAND,
25300		reg: regInfo{
25301			inputs: []inputInfo{
25302				{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
25303				{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
25304			},
25305			outputs: []outputInfo{
25306				{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
25307			},
25308		},
25309	},
25310	{
25311		name:    "ANDconst",
25312		auxType: auxInt32,
25313		argLen:  1,
25314		asm:     mips.AAND,
25315		reg: regInfo{
25316			inputs: []inputInfo{
25317				{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
25318			},
25319			outputs: []outputInfo{
25320				{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
25321			},
25322		},
25323	},
25324	{
25325		name:        "OR",
25326		argLen:      2,
25327		commutative: true,
25328		asm:         mips.AOR,
25329		reg: regInfo{
25330			inputs: []inputInfo{
25331				{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
25332				{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
25333			},
25334			outputs: []outputInfo{
25335				{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
25336			},
25337		},
25338	},
25339	{
25340		name:    "ORconst",
25341		auxType: auxInt32,
25342		argLen:  1,
25343		asm:     mips.AOR,
25344		reg: regInfo{
25345			inputs: []inputInfo{
25346				{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
25347			},
25348			outputs: []outputInfo{
25349				{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
25350			},
25351		},
25352	},
25353	{
25354		name:        "XOR",
25355		argLen:      2,
25356		commutative: true,
25357		asm:         mips.AXOR,
25358		reg: regInfo{
25359			inputs: []inputInfo{
25360				{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
25361				{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
25362			},
25363			outputs: []outputInfo{
25364				{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
25365			},
25366		},
25367	},
25368	{
25369		name:    "XORconst",
25370		auxType: auxInt32,
25371		argLen:  1,
25372		asm:     mips.AXOR,
25373		reg: regInfo{
25374			inputs: []inputInfo{
25375				{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
25376			},
25377			outputs: []outputInfo{
25378				{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
25379			},
25380		},
25381	},
25382	{
25383		name:        "NOR",
25384		argLen:      2,
25385		commutative: true,
25386		asm:         mips.ANOR,
25387		reg: regInfo{
25388			inputs: []inputInfo{
25389				{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
25390				{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
25391			},
25392			outputs: []outputInfo{
25393				{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
25394			},
25395		},
25396	},
25397	{
25398		name:    "NORconst",
25399		auxType: auxInt32,
25400		argLen:  1,
25401		asm:     mips.ANOR,
25402		reg: regInfo{
25403			inputs: []inputInfo{
25404				{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
25405			},
25406			outputs: []outputInfo{
25407				{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
25408			},
25409		},
25410	},
25411	{
25412		name:   "NEG",
25413		argLen: 1,
25414		reg: regInfo{
25415			inputs: []inputInfo{
25416				{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
25417			},
25418			outputs: []outputInfo{
25419				{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
25420			},
25421		},
25422	},
25423	{
25424		name:   "NEGF",
25425		argLen: 1,
25426		asm:    mips.ANEGF,
25427		reg: regInfo{
25428			inputs: []inputInfo{
25429				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25430			},
25431			outputs: []outputInfo{
25432				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25433			},
25434		},
25435	},
25436	{
25437		name:   "NEGD",
25438		argLen: 1,
25439		asm:    mips.ANEGD,
25440		reg: regInfo{
25441			inputs: []inputInfo{
25442				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25443			},
25444			outputs: []outputInfo{
25445				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25446			},
25447		},
25448	},
25449	{
25450		name:   "ABSD",
25451		argLen: 1,
25452		asm:    mips.AABSD,
25453		reg: regInfo{
25454			inputs: []inputInfo{
25455				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25456			},
25457			outputs: []outputInfo{
25458				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25459			},
25460		},
25461	},
25462	{
25463		name:   "SQRTD",
25464		argLen: 1,
25465		asm:    mips.ASQRTD,
25466		reg: regInfo{
25467			inputs: []inputInfo{
25468				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25469			},
25470			outputs: []outputInfo{
25471				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25472			},
25473		},
25474	},
25475	{
25476		name:   "SQRTF",
25477		argLen: 1,
25478		asm:    mips.ASQRTF,
25479		reg: regInfo{
25480			inputs: []inputInfo{
25481				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25482			},
25483			outputs: []outputInfo{
25484				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25485			},
25486		},
25487	},
25488	{
25489		name:   "SLL",
25490		argLen: 2,
25491		asm:    mips.ASLL,
25492		reg: regInfo{
25493			inputs: []inputInfo{
25494				{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
25495				{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
25496			},
25497			outputs: []outputInfo{
25498				{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
25499			},
25500		},
25501	},
25502	{
25503		name:    "SLLconst",
25504		auxType: auxInt32,
25505		argLen:  1,
25506		asm:     mips.ASLL,
25507		reg: regInfo{
25508			inputs: []inputInfo{
25509				{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
25510			},
25511			outputs: []outputInfo{
25512				{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
25513			},
25514		},
25515	},
25516	{
25517		name:   "SRL",
25518		argLen: 2,
25519		asm:    mips.ASRL,
25520		reg: regInfo{
25521			inputs: []inputInfo{
25522				{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
25523				{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
25524			},
25525			outputs: []outputInfo{
25526				{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
25527			},
25528		},
25529	},
25530	{
25531		name:    "SRLconst",
25532		auxType: auxInt32,
25533		argLen:  1,
25534		asm:     mips.ASRL,
25535		reg: regInfo{
25536			inputs: []inputInfo{
25537				{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
25538			},
25539			outputs: []outputInfo{
25540				{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
25541			},
25542		},
25543	},
25544	{
25545		name:   "SRA",
25546		argLen: 2,
25547		asm:    mips.ASRA,
25548		reg: regInfo{
25549			inputs: []inputInfo{
25550				{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
25551				{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
25552			},
25553			outputs: []outputInfo{
25554				{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
25555			},
25556		},
25557	},
25558	{
25559		name:    "SRAconst",
25560		auxType: auxInt32,
25561		argLen:  1,
25562		asm:     mips.ASRA,
25563		reg: regInfo{
25564			inputs: []inputInfo{
25565				{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
25566			},
25567			outputs: []outputInfo{
25568				{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
25569			},
25570		},
25571	},
25572	{
25573		name:   "CLZ",
25574		argLen: 1,
25575		asm:    mips.ACLZ,
25576		reg: regInfo{
25577			inputs: []inputInfo{
25578				{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
25579			},
25580			outputs: []outputInfo{
25581				{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
25582			},
25583		},
25584	},
25585	{
25586		name:   "SGT",
25587		argLen: 2,
25588		asm:    mips.ASGT,
25589		reg: regInfo{
25590			inputs: []inputInfo{
25591				{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
25592				{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
25593			},
25594			outputs: []outputInfo{
25595				{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
25596			},
25597		},
25598	},
25599	{
25600		name:    "SGTconst",
25601		auxType: auxInt32,
25602		argLen:  1,
25603		asm:     mips.ASGT,
25604		reg: regInfo{
25605			inputs: []inputInfo{
25606				{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
25607			},
25608			outputs: []outputInfo{
25609				{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
25610			},
25611		},
25612	},
25613	{
25614		name:   "SGTzero",
25615		argLen: 1,
25616		asm:    mips.ASGT,
25617		reg: regInfo{
25618			inputs: []inputInfo{
25619				{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
25620			},
25621			outputs: []outputInfo{
25622				{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
25623			},
25624		},
25625	},
25626	{
25627		name:   "SGTU",
25628		argLen: 2,
25629		asm:    mips.ASGTU,
25630		reg: regInfo{
25631			inputs: []inputInfo{
25632				{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
25633				{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
25634			},
25635			outputs: []outputInfo{
25636				{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
25637			},
25638		},
25639	},
25640	{
25641		name:    "SGTUconst",
25642		auxType: auxInt32,
25643		argLen:  1,
25644		asm:     mips.ASGTU,
25645		reg: regInfo{
25646			inputs: []inputInfo{
25647				{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
25648			},
25649			outputs: []outputInfo{
25650				{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
25651			},
25652		},
25653	},
25654	{
25655		name:   "SGTUzero",
25656		argLen: 1,
25657		asm:    mips.ASGTU,
25658		reg: regInfo{
25659			inputs: []inputInfo{
25660				{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
25661			},
25662			outputs: []outputInfo{
25663				{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
25664			},
25665		},
25666	},
25667	{
25668		name:   "CMPEQF",
25669		argLen: 2,
25670		asm:    mips.ACMPEQF,
25671		reg: regInfo{
25672			inputs: []inputInfo{
25673				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25674				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25675			},
25676		},
25677	},
25678	{
25679		name:   "CMPEQD",
25680		argLen: 2,
25681		asm:    mips.ACMPEQD,
25682		reg: regInfo{
25683			inputs: []inputInfo{
25684				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25685				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25686			},
25687		},
25688	},
25689	{
25690		name:   "CMPGEF",
25691		argLen: 2,
25692		asm:    mips.ACMPGEF,
25693		reg: regInfo{
25694			inputs: []inputInfo{
25695				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25696				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25697			},
25698		},
25699	},
25700	{
25701		name:   "CMPGED",
25702		argLen: 2,
25703		asm:    mips.ACMPGED,
25704		reg: regInfo{
25705			inputs: []inputInfo{
25706				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25707				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25708			},
25709		},
25710	},
25711	{
25712		name:   "CMPGTF",
25713		argLen: 2,
25714		asm:    mips.ACMPGTF,
25715		reg: regInfo{
25716			inputs: []inputInfo{
25717				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25718				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25719			},
25720		},
25721	},
25722	{
25723		name:   "CMPGTD",
25724		argLen: 2,
25725		asm:    mips.ACMPGTD,
25726		reg: regInfo{
25727			inputs: []inputInfo{
25728				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25729				{1, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25730			},
25731		},
25732	},
25733	{
25734		name:              "MOVWconst",
25735		auxType:           auxInt32,
25736		argLen:            0,
25737		rematerializeable: true,
25738		asm:               mips.AMOVW,
25739		reg: regInfo{
25740			outputs: []outputInfo{
25741				{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
25742			},
25743		},
25744	},
25745	{
25746		name:              "MOVFconst",
25747		auxType:           auxFloat32,
25748		argLen:            0,
25749		rematerializeable: true,
25750		asm:               mips.AMOVF,
25751		reg: regInfo{
25752			outputs: []outputInfo{
25753				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25754			},
25755		},
25756	},
25757	{
25758		name:              "MOVDconst",
25759		auxType:           auxFloat64,
25760		argLen:            0,
25761		rematerializeable: true,
25762		asm:               mips.AMOVD,
25763		reg: regInfo{
25764			outputs: []outputInfo{
25765				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25766			},
25767		},
25768	},
25769	{
25770		name:              "MOVWaddr",
25771		auxType:           auxSymOff,
25772		argLen:            1,
25773		rematerializeable: true,
25774		symEffect:         SymAddr,
25775		asm:               mips.AMOVW,
25776		reg: regInfo{
25777			inputs: []inputInfo{
25778				{0, 140737555464192}, // SP SB
25779			},
25780			outputs: []outputInfo{
25781				{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
25782			},
25783		},
25784	},
25785	{
25786		name:           "MOVBload",
25787		auxType:        auxSymOff,
25788		argLen:         2,
25789		faultOnNilArg0: true,
25790		symEffect:      SymRead,
25791		asm:            mips.AMOVB,
25792		reg: regInfo{
25793			inputs: []inputInfo{
25794				{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
25795			},
25796			outputs: []outputInfo{
25797				{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
25798			},
25799		},
25800	},
25801	{
25802		name:           "MOVBUload",
25803		auxType:        auxSymOff,
25804		argLen:         2,
25805		faultOnNilArg0: true,
25806		symEffect:      SymRead,
25807		asm:            mips.AMOVBU,
25808		reg: regInfo{
25809			inputs: []inputInfo{
25810				{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
25811			},
25812			outputs: []outputInfo{
25813				{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
25814			},
25815		},
25816	},
25817	{
25818		name:           "MOVHload",
25819		auxType:        auxSymOff,
25820		argLen:         2,
25821		faultOnNilArg0: true,
25822		symEffect:      SymRead,
25823		asm:            mips.AMOVH,
25824		reg: regInfo{
25825			inputs: []inputInfo{
25826				{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
25827			},
25828			outputs: []outputInfo{
25829				{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
25830			},
25831		},
25832	},
25833	{
25834		name:           "MOVHUload",
25835		auxType:        auxSymOff,
25836		argLen:         2,
25837		faultOnNilArg0: true,
25838		symEffect:      SymRead,
25839		asm:            mips.AMOVHU,
25840		reg: regInfo{
25841			inputs: []inputInfo{
25842				{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
25843			},
25844			outputs: []outputInfo{
25845				{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
25846			},
25847		},
25848	},
25849	{
25850		name:           "MOVWload",
25851		auxType:        auxSymOff,
25852		argLen:         2,
25853		faultOnNilArg0: true,
25854		symEffect:      SymRead,
25855		asm:            mips.AMOVW,
25856		reg: regInfo{
25857			inputs: []inputInfo{
25858				{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
25859			},
25860			outputs: []outputInfo{
25861				{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
25862			},
25863		},
25864	},
25865	{
25866		name:           "MOVFload",
25867		auxType:        auxSymOff,
25868		argLen:         2,
25869		faultOnNilArg0: true,
25870		symEffect:      SymRead,
25871		asm:            mips.AMOVF,
25872		reg: regInfo{
25873			inputs: []inputInfo{
25874				{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
25875			},
25876			outputs: []outputInfo{
25877				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25878			},
25879		},
25880	},
25881	{
25882		name:           "MOVDload",
25883		auxType:        auxSymOff,
25884		argLen:         2,
25885		faultOnNilArg0: true,
25886		symEffect:      SymRead,
25887		asm:            mips.AMOVD,
25888		reg: regInfo{
25889			inputs: []inputInfo{
25890				{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
25891			},
25892			outputs: []outputInfo{
25893				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25894			},
25895		},
25896	},
25897	{
25898		name:           "MOVBstore",
25899		auxType:        auxSymOff,
25900		argLen:         3,
25901		faultOnNilArg0: true,
25902		symEffect:      SymWrite,
25903		asm:            mips.AMOVB,
25904		reg: regInfo{
25905			inputs: []inputInfo{
25906				{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
25907				{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
25908			},
25909		},
25910	},
25911	{
25912		name:           "MOVHstore",
25913		auxType:        auxSymOff,
25914		argLen:         3,
25915		faultOnNilArg0: true,
25916		symEffect:      SymWrite,
25917		asm:            mips.AMOVH,
25918		reg: regInfo{
25919			inputs: []inputInfo{
25920				{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
25921				{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
25922			},
25923		},
25924	},
25925	{
25926		name:           "MOVWstore",
25927		auxType:        auxSymOff,
25928		argLen:         3,
25929		faultOnNilArg0: true,
25930		symEffect:      SymWrite,
25931		asm:            mips.AMOVW,
25932		reg: regInfo{
25933			inputs: []inputInfo{
25934				{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
25935				{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
25936			},
25937		},
25938	},
25939	{
25940		name:           "MOVFstore",
25941		auxType:        auxSymOff,
25942		argLen:         3,
25943		faultOnNilArg0: true,
25944		symEffect:      SymWrite,
25945		asm:            mips.AMOVF,
25946		reg: regInfo{
25947			inputs: []inputInfo{
25948				{1, 35183835217920},  // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25949				{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
25950			},
25951		},
25952	},
25953	{
25954		name:           "MOVDstore",
25955		auxType:        auxSymOff,
25956		argLen:         3,
25957		faultOnNilArg0: true,
25958		symEffect:      SymWrite,
25959		asm:            mips.AMOVD,
25960		reg: regInfo{
25961			inputs: []inputInfo{
25962				{1, 35183835217920},  // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
25963				{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
25964			},
25965		},
25966	},
25967	{
25968		name:           "MOVBstorezero",
25969		auxType:        auxSymOff,
25970		argLen:         2,
25971		faultOnNilArg0: true,
25972		symEffect:      SymWrite,
25973		asm:            mips.AMOVB,
25974		reg: regInfo{
25975			inputs: []inputInfo{
25976				{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
25977			},
25978		},
25979	},
25980	{
25981		name:           "MOVHstorezero",
25982		auxType:        auxSymOff,
25983		argLen:         2,
25984		faultOnNilArg0: true,
25985		symEffect:      SymWrite,
25986		asm:            mips.AMOVH,
25987		reg: regInfo{
25988			inputs: []inputInfo{
25989				{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
25990			},
25991		},
25992	},
25993	{
25994		name:           "MOVWstorezero",
25995		auxType:        auxSymOff,
25996		argLen:         2,
25997		faultOnNilArg0: true,
25998		symEffect:      SymWrite,
25999		asm:            mips.AMOVW,
26000		reg: regInfo{
26001			inputs: []inputInfo{
26002				{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
26003			},
26004		},
26005	},
26006	{
26007		name:   "MOVWfpgp",
26008		argLen: 1,
26009		asm:    mips.AMOVW,
26010		reg: regInfo{
26011			inputs: []inputInfo{
26012				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26013			},
26014			outputs: []outputInfo{
26015				{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
26016			},
26017		},
26018	},
26019	{
26020		name:   "MOVWgpfp",
26021		argLen: 1,
26022		asm:    mips.AMOVW,
26023		reg: regInfo{
26024			inputs: []inputInfo{
26025				{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
26026			},
26027			outputs: []outputInfo{
26028				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26029			},
26030		},
26031	},
26032	{
26033		name:   "MOVBreg",
26034		argLen: 1,
26035		asm:    mips.AMOVB,
26036		reg: regInfo{
26037			inputs: []inputInfo{
26038				{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
26039			},
26040			outputs: []outputInfo{
26041				{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
26042			},
26043		},
26044	},
26045	{
26046		name:   "MOVBUreg",
26047		argLen: 1,
26048		asm:    mips.AMOVBU,
26049		reg: regInfo{
26050			inputs: []inputInfo{
26051				{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
26052			},
26053			outputs: []outputInfo{
26054				{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
26055			},
26056		},
26057	},
26058	{
26059		name:   "MOVHreg",
26060		argLen: 1,
26061		asm:    mips.AMOVH,
26062		reg: regInfo{
26063			inputs: []inputInfo{
26064				{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
26065			},
26066			outputs: []outputInfo{
26067				{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
26068			},
26069		},
26070	},
26071	{
26072		name:   "MOVHUreg",
26073		argLen: 1,
26074		asm:    mips.AMOVHU,
26075		reg: regInfo{
26076			inputs: []inputInfo{
26077				{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
26078			},
26079			outputs: []outputInfo{
26080				{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
26081			},
26082		},
26083	},
26084	{
26085		name:   "MOVWreg",
26086		argLen: 1,
26087		asm:    mips.AMOVW,
26088		reg: regInfo{
26089			inputs: []inputInfo{
26090				{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
26091			},
26092			outputs: []outputInfo{
26093				{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
26094			},
26095		},
26096	},
26097	{
26098		name:         "MOVWnop",
26099		argLen:       1,
26100		resultInArg0: true,
26101		reg: regInfo{
26102			inputs: []inputInfo{
26103				{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
26104			},
26105			outputs: []outputInfo{
26106				{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
26107			},
26108		},
26109	},
26110	{
26111		name:         "CMOVZ",
26112		argLen:       3,
26113		resultInArg0: true,
26114		asm:          mips.ACMOVZ,
26115		reg: regInfo{
26116			inputs: []inputInfo{
26117				{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
26118				{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
26119				{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
26120			},
26121			outputs: []outputInfo{
26122				{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
26123			},
26124		},
26125	},
26126	{
26127		name:         "CMOVZzero",
26128		argLen:       2,
26129		resultInArg0: true,
26130		asm:          mips.ACMOVZ,
26131		reg: regInfo{
26132			inputs: []inputInfo{
26133				{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
26134				{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
26135			},
26136			outputs: []outputInfo{
26137				{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
26138			},
26139		},
26140	},
26141	{
26142		name:   "MOVWF",
26143		argLen: 1,
26144		asm:    mips.AMOVWF,
26145		reg: regInfo{
26146			inputs: []inputInfo{
26147				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26148			},
26149			outputs: []outputInfo{
26150				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26151			},
26152		},
26153	},
26154	{
26155		name:   "MOVWD",
26156		argLen: 1,
26157		asm:    mips.AMOVWD,
26158		reg: regInfo{
26159			inputs: []inputInfo{
26160				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26161			},
26162			outputs: []outputInfo{
26163				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26164			},
26165		},
26166	},
26167	{
26168		name:   "TRUNCFW",
26169		argLen: 1,
26170		asm:    mips.ATRUNCFW,
26171		reg: regInfo{
26172			inputs: []inputInfo{
26173				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26174			},
26175			outputs: []outputInfo{
26176				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26177			},
26178		},
26179	},
26180	{
26181		name:   "TRUNCDW",
26182		argLen: 1,
26183		asm:    mips.ATRUNCDW,
26184		reg: regInfo{
26185			inputs: []inputInfo{
26186				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26187			},
26188			outputs: []outputInfo{
26189				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26190			},
26191		},
26192	},
26193	{
26194		name:   "MOVFD",
26195		argLen: 1,
26196		asm:    mips.AMOVFD,
26197		reg: regInfo{
26198			inputs: []inputInfo{
26199				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26200			},
26201			outputs: []outputInfo{
26202				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26203			},
26204		},
26205	},
26206	{
26207		name:   "MOVDF",
26208		argLen: 1,
26209		asm:    mips.AMOVDF,
26210		reg: regInfo{
26211			inputs: []inputInfo{
26212				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26213			},
26214			outputs: []outputInfo{
26215				{0, 35183835217920}, // F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30
26216			},
26217		},
26218	},
26219	{
26220		name:         "CALLstatic",
26221		auxType:      auxCallOff,
26222		argLen:       1,
26223		clobberFlags: true,
26224		call:         true,
26225		reg: regInfo{
26226			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
26227		},
26228	},
26229	{
26230		name:         "CALLtail",
26231		auxType:      auxCallOff,
26232		argLen:       1,
26233		clobberFlags: true,
26234		call:         true,
26235		tailCall:     true,
26236		reg: regInfo{
26237			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
26238		},
26239	},
26240	{
26241		name:         "CALLclosure",
26242		auxType:      auxCallOff,
26243		argLen:       3,
26244		clobberFlags: true,
26245		call:         true,
26246		reg: regInfo{
26247			inputs: []inputInfo{
26248				{1, 4194304},   // R22
26249				{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
26250			},
26251			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
26252		},
26253	},
26254	{
26255		name:         "CALLinter",
26256		auxType:      auxCallOff,
26257		argLen:       2,
26258		clobberFlags: true,
26259		call:         true,
26260		reg: regInfo{
26261			inputs: []inputInfo{
26262				{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
26263			},
26264			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
26265		},
26266	},
26267	{
26268		name:           "LoweredAtomicLoad8",
26269		argLen:         2,
26270		faultOnNilArg0: true,
26271		reg: regInfo{
26272			inputs: []inputInfo{
26273				{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
26274			},
26275			outputs: []outputInfo{
26276				{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
26277			},
26278		},
26279	},
26280	{
26281		name:           "LoweredAtomicLoad32",
26282		argLen:         2,
26283		faultOnNilArg0: true,
26284		reg: regInfo{
26285			inputs: []inputInfo{
26286				{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
26287			},
26288			outputs: []outputInfo{
26289				{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
26290			},
26291		},
26292	},
26293	{
26294		name:           "LoweredAtomicStore8",
26295		argLen:         3,
26296		faultOnNilArg0: true,
26297		hasSideEffects: true,
26298		reg: regInfo{
26299			inputs: []inputInfo{
26300				{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
26301				{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
26302			},
26303		},
26304	},
26305	{
26306		name:           "LoweredAtomicStore32",
26307		argLen:         3,
26308		faultOnNilArg0: true,
26309		hasSideEffects: true,
26310		reg: regInfo{
26311			inputs: []inputInfo{
26312				{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
26313				{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
26314			},
26315		},
26316	},
26317	{
26318		name:           "LoweredAtomicStorezero",
26319		argLen:         2,
26320		faultOnNilArg0: true,
26321		hasSideEffects: true,
26322		reg: regInfo{
26323			inputs: []inputInfo{
26324				{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
26325			},
26326		},
26327	},
26328	{
26329		name:            "LoweredAtomicExchange",
26330		argLen:          3,
26331		resultNotInArgs: true,
26332		faultOnNilArg0:  true,
26333		hasSideEffects:  true,
26334		unsafePoint:     true,
26335		reg: regInfo{
26336			inputs: []inputInfo{
26337				{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
26338				{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
26339			},
26340			outputs: []outputInfo{
26341				{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
26342			},
26343		},
26344	},
26345	{
26346		name:            "LoweredAtomicAdd",
26347		argLen:          3,
26348		resultNotInArgs: true,
26349		faultOnNilArg0:  true,
26350		hasSideEffects:  true,
26351		unsafePoint:     true,
26352		reg: regInfo{
26353			inputs: []inputInfo{
26354				{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
26355				{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
26356			},
26357			outputs: []outputInfo{
26358				{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
26359			},
26360		},
26361	},
26362	{
26363		name:            "LoweredAtomicAddconst",
26364		auxType:         auxInt32,
26365		argLen:          2,
26366		resultNotInArgs: true,
26367		faultOnNilArg0:  true,
26368		hasSideEffects:  true,
26369		unsafePoint:     true,
26370		reg: regInfo{
26371			inputs: []inputInfo{
26372				{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
26373			},
26374			outputs: []outputInfo{
26375				{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
26376			},
26377		},
26378	},
26379	{
26380		name:            "LoweredAtomicCas",
26381		argLen:          4,
26382		resultNotInArgs: true,
26383		faultOnNilArg0:  true,
26384		hasSideEffects:  true,
26385		unsafePoint:     true,
26386		reg: regInfo{
26387			inputs: []inputInfo{
26388				{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
26389				{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
26390				{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
26391			},
26392			outputs: []outputInfo{
26393				{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
26394			},
26395		},
26396	},
26397	{
26398		name:           "LoweredAtomicAnd",
26399		argLen:         3,
26400		faultOnNilArg0: true,
26401		hasSideEffects: true,
26402		unsafePoint:    true,
26403		asm:            mips.AAND,
26404		reg: regInfo{
26405			inputs: []inputInfo{
26406				{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
26407				{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
26408			},
26409		},
26410	},
26411	{
26412		name:           "LoweredAtomicOr",
26413		argLen:         3,
26414		faultOnNilArg0: true,
26415		hasSideEffects: true,
26416		unsafePoint:    true,
26417		asm:            mips.AOR,
26418		reg: regInfo{
26419			inputs: []inputInfo{
26420				{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
26421				{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
26422			},
26423		},
26424	},
26425	{
26426		name:           "LoweredZero",
26427		auxType:        auxInt32,
26428		argLen:         3,
26429		faultOnNilArg0: true,
26430		reg: regInfo{
26431			inputs: []inputInfo{
26432				{0, 2},         // R1
26433				{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
26434			},
26435			clobbers: 2, // R1
26436		},
26437	},
26438	{
26439		name:           "LoweredMove",
26440		auxType:        auxInt32,
26441		argLen:         4,
26442		faultOnNilArg0: true,
26443		faultOnNilArg1: true,
26444		reg: regInfo{
26445			inputs: []inputInfo{
26446				{0, 4},         // R2
26447				{1, 2},         // R1
26448				{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
26449			},
26450			clobbers: 6, // R1 R2
26451		},
26452	},
26453	{
26454		name:           "LoweredNilCheck",
26455		argLen:         2,
26456		nilCheck:       true,
26457		faultOnNilArg0: true,
26458		reg: regInfo{
26459			inputs: []inputInfo{
26460				{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
26461			},
26462		},
26463	},
26464	{
26465		name:   "FPFlagTrue",
26466		argLen: 1,
26467		reg: regInfo{
26468			outputs: []outputInfo{
26469				{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
26470			},
26471		},
26472	},
26473	{
26474		name:   "FPFlagFalse",
26475		argLen: 1,
26476		reg: regInfo{
26477			outputs: []outputInfo{
26478				{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
26479			},
26480		},
26481	},
26482	{
26483		name:      "LoweredGetClosurePtr",
26484		argLen:    0,
26485		zeroWidth: true,
26486		reg: regInfo{
26487			outputs: []outputInfo{
26488				{0, 4194304}, // R22
26489			},
26490		},
26491	},
26492	{
26493		name:              "LoweredGetCallerSP",
26494		argLen:            1,
26495		rematerializeable: true,
26496		reg: regInfo{
26497			outputs: []outputInfo{
26498				{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
26499			},
26500		},
26501	},
26502	{
26503		name:              "LoweredGetCallerPC",
26504		argLen:            0,
26505		rematerializeable: true,
26506		reg: regInfo{
26507			outputs: []outputInfo{
26508				{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
26509			},
26510		},
26511	},
26512	{
26513		name:         "LoweredWB",
26514		auxType:      auxInt64,
26515		argLen:       1,
26516		clobberFlags: true,
26517		reg: regInfo{
26518			clobbers: 140737219919872, // R31 F0 F2 F4 F6 F8 F10 F12 F14 F16 F18 F20 F22 F24 F26 F28 F30 HI LO
26519			outputs: []outputInfo{
26520				{0, 16777216}, // R25
26521			},
26522		},
26523	},
26524	{
26525		name:    "LoweredPanicBoundsA",
26526		auxType: auxInt64,
26527		argLen:  3,
26528		call:    true,
26529		reg: regInfo{
26530			inputs: []inputInfo{
26531				{0, 8},  // R3
26532				{1, 16}, // R4
26533			},
26534		},
26535	},
26536	{
26537		name:    "LoweredPanicBoundsB",
26538		auxType: auxInt64,
26539		argLen:  3,
26540		call:    true,
26541		reg: regInfo{
26542			inputs: []inputInfo{
26543				{0, 4}, // R2
26544				{1, 8}, // R3
26545			},
26546		},
26547	},
26548	{
26549		name:    "LoweredPanicBoundsC",
26550		auxType: auxInt64,
26551		argLen:  3,
26552		call:    true,
26553		reg: regInfo{
26554			inputs: []inputInfo{
26555				{0, 2}, // R1
26556				{1, 4}, // R2
26557			},
26558		},
26559	},
26560	{
26561		name:    "LoweredPanicExtendA",
26562		auxType: auxInt64,
26563		argLen:  4,
26564		call:    true,
26565		reg: regInfo{
26566			inputs: []inputInfo{
26567				{0, 32}, // R5
26568				{1, 8},  // R3
26569				{2, 16}, // R4
26570			},
26571		},
26572	},
26573	{
26574		name:    "LoweredPanicExtendB",
26575		auxType: auxInt64,
26576		argLen:  4,
26577		call:    true,
26578		reg: regInfo{
26579			inputs: []inputInfo{
26580				{0, 32}, // R5
26581				{1, 4},  // R2
26582				{2, 8},  // R3
26583			},
26584		},
26585	},
26586	{
26587		name:    "LoweredPanicExtendC",
26588		auxType: auxInt64,
26589		argLen:  4,
26590		call:    true,
26591		reg: regInfo{
26592			inputs: []inputInfo{
26593				{0, 32}, // R5
26594				{1, 2},  // R1
26595				{2, 4},  // R2
26596			},
26597		},
26598	},
26599
26600	{
26601		name:        "ADDV",
26602		argLen:      2,
26603		commutative: true,
26604		asm:         mips.AADDVU,
26605		reg: regInfo{
26606			inputs: []inputInfo{
26607				{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
26608				{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
26609			},
26610			outputs: []outputInfo{
26611				{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
26612			},
26613		},
26614	},
26615	{
26616		name:    "ADDVconst",
26617		auxType: auxInt64,
26618		argLen:  1,
26619		asm:     mips.AADDVU,
26620		reg: regInfo{
26621			inputs: []inputInfo{
26622				{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
26623			},
26624			outputs: []outputInfo{
26625				{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
26626			},
26627		},
26628	},
26629	{
26630		name:   "SUBV",
26631		argLen: 2,
26632		asm:    mips.ASUBVU,
26633		reg: regInfo{
26634			inputs: []inputInfo{
26635				{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
26636				{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
26637			},
26638			outputs: []outputInfo{
26639				{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
26640			},
26641		},
26642	},
26643	{
26644		name:    "SUBVconst",
26645		auxType: auxInt64,
26646		argLen:  1,
26647		asm:     mips.ASUBVU,
26648		reg: regInfo{
26649			inputs: []inputInfo{
26650				{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
26651			},
26652			outputs: []outputInfo{
26653				{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
26654			},
26655		},
26656	},
26657	{
26658		name:        "MULV",
26659		argLen:      2,
26660		commutative: true,
26661		asm:         mips.AMULV,
26662		reg: regInfo{
26663			inputs: []inputInfo{
26664				{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
26665				{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
26666			},
26667			outputs: []outputInfo{
26668				{0, 1152921504606846976}, // HI
26669				{1, 2305843009213693952}, // LO
26670			},
26671		},
26672	},
26673	{
26674		name:        "MULVU",
26675		argLen:      2,
26676		commutative: true,
26677		asm:         mips.AMULVU,
26678		reg: regInfo{
26679			inputs: []inputInfo{
26680				{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
26681				{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
26682			},
26683			outputs: []outputInfo{
26684				{0, 1152921504606846976}, // HI
26685				{1, 2305843009213693952}, // LO
26686			},
26687		},
26688	},
26689	{
26690		name:   "DIVV",
26691		argLen: 2,
26692		asm:    mips.ADIVV,
26693		reg: regInfo{
26694			inputs: []inputInfo{
26695				{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
26696				{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
26697			},
26698			outputs: []outputInfo{
26699				{0, 1152921504606846976}, // HI
26700				{1, 2305843009213693952}, // LO
26701			},
26702		},
26703	},
26704	{
26705		name:   "DIVVU",
26706		argLen: 2,
26707		asm:    mips.ADIVVU,
26708		reg: regInfo{
26709			inputs: []inputInfo{
26710				{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
26711				{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
26712			},
26713			outputs: []outputInfo{
26714				{0, 1152921504606846976}, // HI
26715				{1, 2305843009213693952}, // LO
26716			},
26717		},
26718	},
26719	{
26720		name:        "ADDF",
26721		argLen:      2,
26722		commutative: true,
26723		asm:         mips.AADDF,
26724		reg: regInfo{
26725			inputs: []inputInfo{
26726				{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
26727				{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
26728			},
26729			outputs: []outputInfo{
26730				{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
26731			},
26732		},
26733	},
26734	{
26735		name:        "ADDD",
26736		argLen:      2,
26737		commutative: true,
26738		asm:         mips.AADDD,
26739		reg: regInfo{
26740			inputs: []inputInfo{
26741				{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
26742				{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
26743			},
26744			outputs: []outputInfo{
26745				{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
26746			},
26747		},
26748	},
26749	{
26750		name:   "SUBF",
26751		argLen: 2,
26752		asm:    mips.ASUBF,
26753		reg: regInfo{
26754			inputs: []inputInfo{
26755				{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
26756				{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
26757			},
26758			outputs: []outputInfo{
26759				{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
26760			},
26761		},
26762	},
26763	{
26764		name:   "SUBD",
26765		argLen: 2,
26766		asm:    mips.ASUBD,
26767		reg: regInfo{
26768			inputs: []inputInfo{
26769				{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
26770				{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
26771			},
26772			outputs: []outputInfo{
26773				{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
26774			},
26775		},
26776	},
26777	{
26778		name:        "MULF",
26779		argLen:      2,
26780		commutative: true,
26781		asm:         mips.AMULF,
26782		reg: regInfo{
26783			inputs: []inputInfo{
26784				{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
26785				{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
26786			},
26787			outputs: []outputInfo{
26788				{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
26789			},
26790		},
26791	},
26792	{
26793		name:        "MULD",
26794		argLen:      2,
26795		commutative: true,
26796		asm:         mips.AMULD,
26797		reg: regInfo{
26798			inputs: []inputInfo{
26799				{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
26800				{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
26801			},
26802			outputs: []outputInfo{
26803				{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
26804			},
26805		},
26806	},
26807	{
26808		name:   "DIVF",
26809		argLen: 2,
26810		asm:    mips.ADIVF,
26811		reg: regInfo{
26812			inputs: []inputInfo{
26813				{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
26814				{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
26815			},
26816			outputs: []outputInfo{
26817				{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
26818			},
26819		},
26820	},
26821	{
26822		name:   "DIVD",
26823		argLen: 2,
26824		asm:    mips.ADIVD,
26825		reg: regInfo{
26826			inputs: []inputInfo{
26827				{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
26828				{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
26829			},
26830			outputs: []outputInfo{
26831				{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
26832			},
26833		},
26834	},
26835	{
26836		name:        "AND",
26837		argLen:      2,
26838		commutative: true,
26839		asm:         mips.AAND,
26840		reg: regInfo{
26841			inputs: []inputInfo{
26842				{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
26843				{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
26844			},
26845			outputs: []outputInfo{
26846				{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
26847			},
26848		},
26849	},
26850	{
26851		name:    "ANDconst",
26852		auxType: auxInt64,
26853		argLen:  1,
26854		asm:     mips.AAND,
26855		reg: regInfo{
26856			inputs: []inputInfo{
26857				{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
26858			},
26859			outputs: []outputInfo{
26860				{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
26861			},
26862		},
26863	},
26864	{
26865		name:        "OR",
26866		argLen:      2,
26867		commutative: true,
26868		asm:         mips.AOR,
26869		reg: regInfo{
26870			inputs: []inputInfo{
26871				{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
26872				{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
26873			},
26874			outputs: []outputInfo{
26875				{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
26876			},
26877		},
26878	},
26879	{
26880		name:    "ORconst",
26881		auxType: auxInt64,
26882		argLen:  1,
26883		asm:     mips.AOR,
26884		reg: regInfo{
26885			inputs: []inputInfo{
26886				{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
26887			},
26888			outputs: []outputInfo{
26889				{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
26890			},
26891		},
26892	},
26893	{
26894		name:        "XOR",
26895		argLen:      2,
26896		commutative: true,
26897		asm:         mips.AXOR,
26898		reg: regInfo{
26899			inputs: []inputInfo{
26900				{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
26901				{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
26902			},
26903			outputs: []outputInfo{
26904				{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
26905			},
26906		},
26907	},
26908	{
26909		name:    "XORconst",
26910		auxType: auxInt64,
26911		argLen:  1,
26912		asm:     mips.AXOR,
26913		reg: regInfo{
26914			inputs: []inputInfo{
26915				{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
26916			},
26917			outputs: []outputInfo{
26918				{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
26919			},
26920		},
26921	},
26922	{
26923		name:        "NOR",
26924		argLen:      2,
26925		commutative: true,
26926		asm:         mips.ANOR,
26927		reg: regInfo{
26928			inputs: []inputInfo{
26929				{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
26930				{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
26931			},
26932			outputs: []outputInfo{
26933				{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
26934			},
26935		},
26936	},
26937	{
26938		name:    "NORconst",
26939		auxType: auxInt64,
26940		argLen:  1,
26941		asm:     mips.ANOR,
26942		reg: regInfo{
26943			inputs: []inputInfo{
26944				{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
26945			},
26946			outputs: []outputInfo{
26947				{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
26948			},
26949		},
26950	},
26951	{
26952		name:   "NEGV",
26953		argLen: 1,
26954		reg: regInfo{
26955			inputs: []inputInfo{
26956				{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
26957			},
26958			outputs: []outputInfo{
26959				{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
26960			},
26961		},
26962	},
26963	{
26964		name:   "NEGF",
26965		argLen: 1,
26966		asm:    mips.ANEGF,
26967		reg: regInfo{
26968			inputs: []inputInfo{
26969				{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
26970			},
26971			outputs: []outputInfo{
26972				{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
26973			},
26974		},
26975	},
26976	{
26977		name:   "NEGD",
26978		argLen: 1,
26979		asm:    mips.ANEGD,
26980		reg: regInfo{
26981			inputs: []inputInfo{
26982				{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
26983			},
26984			outputs: []outputInfo{
26985				{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
26986			},
26987		},
26988	},
26989	{
26990		name:   "ABSD",
26991		argLen: 1,
26992		asm:    mips.AABSD,
26993		reg: regInfo{
26994			inputs: []inputInfo{
26995				{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
26996			},
26997			outputs: []outputInfo{
26998				{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
26999			},
27000		},
27001	},
27002	{
27003		name:   "SQRTD",
27004		argLen: 1,
27005		asm:    mips.ASQRTD,
27006		reg: regInfo{
27007			inputs: []inputInfo{
27008				{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
27009			},
27010			outputs: []outputInfo{
27011				{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
27012			},
27013		},
27014	},
27015	{
27016		name:   "SQRTF",
27017		argLen: 1,
27018		asm:    mips.ASQRTF,
27019		reg: regInfo{
27020			inputs: []inputInfo{
27021				{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
27022			},
27023			outputs: []outputInfo{
27024				{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
27025			},
27026		},
27027	},
27028	{
27029		name:   "SLLV",
27030		argLen: 2,
27031		asm:    mips.ASLLV,
27032		reg: regInfo{
27033			inputs: []inputInfo{
27034				{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
27035				{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
27036			},
27037			outputs: []outputInfo{
27038				{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
27039			},
27040		},
27041	},
27042	{
27043		name:    "SLLVconst",
27044		auxType: auxInt64,
27045		argLen:  1,
27046		asm:     mips.ASLLV,
27047		reg: regInfo{
27048			inputs: []inputInfo{
27049				{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
27050			},
27051			outputs: []outputInfo{
27052				{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
27053			},
27054		},
27055	},
27056	{
27057		name:   "SRLV",
27058		argLen: 2,
27059		asm:    mips.ASRLV,
27060		reg: regInfo{
27061			inputs: []inputInfo{
27062				{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
27063				{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
27064			},
27065			outputs: []outputInfo{
27066				{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
27067			},
27068		},
27069	},
27070	{
27071		name:    "SRLVconst",
27072		auxType: auxInt64,
27073		argLen:  1,
27074		asm:     mips.ASRLV,
27075		reg: regInfo{
27076			inputs: []inputInfo{
27077				{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
27078			},
27079			outputs: []outputInfo{
27080				{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
27081			},
27082		},
27083	},
27084	{
27085		name:   "SRAV",
27086		argLen: 2,
27087		asm:    mips.ASRAV,
27088		reg: regInfo{
27089			inputs: []inputInfo{
27090				{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
27091				{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
27092			},
27093			outputs: []outputInfo{
27094				{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
27095			},
27096		},
27097	},
27098	{
27099		name:    "SRAVconst",
27100		auxType: auxInt64,
27101		argLen:  1,
27102		asm:     mips.ASRAV,
27103		reg: regInfo{
27104			inputs: []inputInfo{
27105				{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
27106			},
27107			outputs: []outputInfo{
27108				{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
27109			},
27110		},
27111	},
27112	{
27113		name:   "SGT",
27114		argLen: 2,
27115		asm:    mips.ASGT,
27116		reg: regInfo{
27117			inputs: []inputInfo{
27118				{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
27119				{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
27120			},
27121			outputs: []outputInfo{
27122				{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
27123			},
27124		},
27125	},
27126	{
27127		name:    "SGTconst",
27128		auxType: auxInt64,
27129		argLen:  1,
27130		asm:     mips.ASGT,
27131		reg: regInfo{
27132			inputs: []inputInfo{
27133				{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
27134			},
27135			outputs: []outputInfo{
27136				{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
27137			},
27138		},
27139	},
27140	{
27141		name:   "SGTU",
27142		argLen: 2,
27143		asm:    mips.ASGTU,
27144		reg: regInfo{
27145			inputs: []inputInfo{
27146				{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
27147				{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
27148			},
27149			outputs: []outputInfo{
27150				{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
27151			},
27152		},
27153	},
27154	{
27155		name:    "SGTUconst",
27156		auxType: auxInt64,
27157		argLen:  1,
27158		asm:     mips.ASGTU,
27159		reg: regInfo{
27160			inputs: []inputInfo{
27161				{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
27162			},
27163			outputs: []outputInfo{
27164				{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
27165			},
27166		},
27167	},
27168	{
27169		name:   "CMPEQF",
27170		argLen: 2,
27171		asm:    mips.ACMPEQF,
27172		reg: regInfo{
27173			inputs: []inputInfo{
27174				{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
27175				{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
27176			},
27177		},
27178	},
27179	{
27180		name:   "CMPEQD",
27181		argLen: 2,
27182		asm:    mips.ACMPEQD,
27183		reg: regInfo{
27184			inputs: []inputInfo{
27185				{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
27186				{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
27187			},
27188		},
27189	},
27190	{
27191		name:   "CMPGEF",
27192		argLen: 2,
27193		asm:    mips.ACMPGEF,
27194		reg: regInfo{
27195			inputs: []inputInfo{
27196				{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
27197				{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
27198			},
27199		},
27200	},
27201	{
27202		name:   "CMPGED",
27203		argLen: 2,
27204		asm:    mips.ACMPGED,
27205		reg: regInfo{
27206			inputs: []inputInfo{
27207				{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
27208				{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
27209			},
27210		},
27211	},
27212	{
27213		name:   "CMPGTF",
27214		argLen: 2,
27215		asm:    mips.ACMPGTF,
27216		reg: regInfo{
27217			inputs: []inputInfo{
27218				{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
27219				{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
27220			},
27221		},
27222	},
27223	{
27224		name:   "CMPGTD",
27225		argLen: 2,
27226		asm:    mips.ACMPGTD,
27227		reg: regInfo{
27228			inputs: []inputInfo{
27229				{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
27230				{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
27231			},
27232		},
27233	},
27234	{
27235		name:              "MOVVconst",
27236		auxType:           auxInt64,
27237		argLen:            0,
27238		rematerializeable: true,
27239		asm:               mips.AMOVV,
27240		reg: regInfo{
27241			outputs: []outputInfo{
27242				{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
27243			},
27244		},
27245	},
27246	{
27247		name:              "MOVFconst",
27248		auxType:           auxFloat64,
27249		argLen:            0,
27250		rematerializeable: true,
27251		asm:               mips.AMOVF,
27252		reg: regInfo{
27253			outputs: []outputInfo{
27254				{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
27255			},
27256		},
27257	},
27258	{
27259		name:              "MOVDconst",
27260		auxType:           auxFloat64,
27261		argLen:            0,
27262		rematerializeable: true,
27263		asm:               mips.AMOVD,
27264		reg: regInfo{
27265			outputs: []outputInfo{
27266				{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
27267			},
27268		},
27269	},
27270	{
27271		name:              "MOVVaddr",
27272		auxType:           auxSymOff,
27273		argLen:            1,
27274		rematerializeable: true,
27275		symEffect:         SymAddr,
27276		asm:               mips.AMOVV,
27277		reg: regInfo{
27278			inputs: []inputInfo{
27279				{0, 4611686018460942336}, // SP SB
27280			},
27281			outputs: []outputInfo{
27282				{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
27283			},
27284		},
27285	},
27286	{
27287		name:           "MOVBload",
27288		auxType:        auxSymOff,
27289		argLen:         2,
27290		faultOnNilArg0: true,
27291		symEffect:      SymRead,
27292		asm:            mips.AMOVB,
27293		reg: regInfo{
27294			inputs: []inputInfo{
27295				{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
27296			},
27297			outputs: []outputInfo{
27298				{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
27299			},
27300		},
27301	},
27302	{
27303		name:           "MOVBUload",
27304		auxType:        auxSymOff,
27305		argLen:         2,
27306		faultOnNilArg0: true,
27307		symEffect:      SymRead,
27308		asm:            mips.AMOVBU,
27309		reg: regInfo{
27310			inputs: []inputInfo{
27311				{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
27312			},
27313			outputs: []outputInfo{
27314				{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
27315			},
27316		},
27317	},
27318	{
27319		name:           "MOVHload",
27320		auxType:        auxSymOff,
27321		argLen:         2,
27322		faultOnNilArg0: true,
27323		symEffect:      SymRead,
27324		asm:            mips.AMOVH,
27325		reg: regInfo{
27326			inputs: []inputInfo{
27327				{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
27328			},
27329			outputs: []outputInfo{
27330				{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
27331			},
27332		},
27333	},
27334	{
27335		name:           "MOVHUload",
27336		auxType:        auxSymOff,
27337		argLen:         2,
27338		faultOnNilArg0: true,
27339		symEffect:      SymRead,
27340		asm:            mips.AMOVHU,
27341		reg: regInfo{
27342			inputs: []inputInfo{
27343				{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
27344			},
27345			outputs: []outputInfo{
27346				{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
27347			},
27348		},
27349	},
27350	{
27351		name:           "MOVWload",
27352		auxType:        auxSymOff,
27353		argLen:         2,
27354		faultOnNilArg0: true,
27355		symEffect:      SymRead,
27356		asm:            mips.AMOVW,
27357		reg: regInfo{
27358			inputs: []inputInfo{
27359				{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
27360			},
27361			outputs: []outputInfo{
27362				{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
27363			},
27364		},
27365	},
27366	{
27367		name:           "MOVWUload",
27368		auxType:        auxSymOff,
27369		argLen:         2,
27370		faultOnNilArg0: true,
27371		symEffect:      SymRead,
27372		asm:            mips.AMOVWU,
27373		reg: regInfo{
27374			inputs: []inputInfo{
27375				{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
27376			},
27377			outputs: []outputInfo{
27378				{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
27379			},
27380		},
27381	},
27382	{
27383		name:           "MOVVload",
27384		auxType:        auxSymOff,
27385		argLen:         2,
27386		faultOnNilArg0: true,
27387		symEffect:      SymRead,
27388		asm:            mips.AMOVV,
27389		reg: regInfo{
27390			inputs: []inputInfo{
27391				{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
27392			},
27393			outputs: []outputInfo{
27394				{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
27395			},
27396		},
27397	},
27398	{
27399		name:           "MOVFload",
27400		auxType:        auxSymOff,
27401		argLen:         2,
27402		faultOnNilArg0: true,
27403		symEffect:      SymRead,
27404		asm:            mips.AMOVF,
27405		reg: regInfo{
27406			inputs: []inputInfo{
27407				{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
27408			},
27409			outputs: []outputInfo{
27410				{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
27411			},
27412		},
27413	},
27414	{
27415		name:           "MOVDload",
27416		auxType:        auxSymOff,
27417		argLen:         2,
27418		faultOnNilArg0: true,
27419		symEffect:      SymRead,
27420		asm:            mips.AMOVD,
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			outputs: []outputInfo{
27426				{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
27427			},
27428		},
27429	},
27430	{
27431		name:           "MOVBstore",
27432		auxType:        auxSymOff,
27433		argLen:         3,
27434		faultOnNilArg0: true,
27435		symEffect:      SymWrite,
27436		asm:            mips.AMOVB,
27437		reg: regInfo{
27438			inputs: []inputInfo{
27439				{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
27440				{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
27441			},
27442		},
27443	},
27444	{
27445		name:           "MOVHstore",
27446		auxType:        auxSymOff,
27447		argLen:         3,
27448		faultOnNilArg0: true,
27449		symEffect:      SymWrite,
27450		asm:            mips.AMOVH,
27451		reg: regInfo{
27452			inputs: []inputInfo{
27453				{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
27454				{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
27455			},
27456		},
27457	},
27458	{
27459		name:           "MOVWstore",
27460		auxType:        auxSymOff,
27461		argLen:         3,
27462		faultOnNilArg0: true,
27463		symEffect:      SymWrite,
27464		asm:            mips.AMOVW,
27465		reg: regInfo{
27466			inputs: []inputInfo{
27467				{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
27468				{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
27469			},
27470		},
27471	},
27472	{
27473		name:           "MOVVstore",
27474		auxType:        auxSymOff,
27475		argLen:         3,
27476		faultOnNilArg0: true,
27477		symEffect:      SymWrite,
27478		asm:            mips.AMOVV,
27479		reg: regInfo{
27480			inputs: []inputInfo{
27481				{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
27482				{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
27483			},
27484		},
27485	},
27486	{
27487		name:           "MOVFstore",
27488		auxType:        auxSymOff,
27489		argLen:         3,
27490		faultOnNilArg0: true,
27491		symEffect:      SymWrite,
27492		asm:            mips.AMOVF,
27493		reg: regInfo{
27494			inputs: []inputInfo{
27495				{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
27496				{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
27497			},
27498		},
27499	},
27500	{
27501		name:           "MOVDstore",
27502		auxType:        auxSymOff,
27503		argLen:         3,
27504		faultOnNilArg0: true,
27505		symEffect:      SymWrite,
27506		asm:            mips.AMOVD,
27507		reg: regInfo{
27508			inputs: []inputInfo{
27509				{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
27510				{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
27511			},
27512		},
27513	},
27514	{
27515		name:           "MOVBstorezero",
27516		auxType:        auxSymOff,
27517		argLen:         2,
27518		faultOnNilArg0: true,
27519		symEffect:      SymWrite,
27520		asm:            mips.AMOVB,
27521		reg: regInfo{
27522			inputs: []inputInfo{
27523				{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
27524			},
27525		},
27526	},
27527	{
27528		name:           "MOVHstorezero",
27529		auxType:        auxSymOff,
27530		argLen:         2,
27531		faultOnNilArg0: true,
27532		symEffect:      SymWrite,
27533		asm:            mips.AMOVH,
27534		reg: regInfo{
27535			inputs: []inputInfo{
27536				{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
27537			},
27538		},
27539	},
27540	{
27541		name:           "MOVWstorezero",
27542		auxType:        auxSymOff,
27543		argLen:         2,
27544		faultOnNilArg0: true,
27545		symEffect:      SymWrite,
27546		asm:            mips.AMOVW,
27547		reg: regInfo{
27548			inputs: []inputInfo{
27549				{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
27550			},
27551		},
27552	},
27553	{
27554		name:           "MOVVstorezero",
27555		auxType:        auxSymOff,
27556		argLen:         2,
27557		faultOnNilArg0: true,
27558		symEffect:      SymWrite,
27559		asm:            mips.AMOVV,
27560		reg: regInfo{
27561			inputs: []inputInfo{
27562				{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
27563			},
27564		},
27565	},
27566	{
27567		name:   "MOVWfpgp",
27568		argLen: 1,
27569		asm:    mips.AMOVW,
27570		reg: regInfo{
27571			inputs: []inputInfo{
27572				{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
27573			},
27574			outputs: []outputInfo{
27575				{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
27576			},
27577		},
27578	},
27579	{
27580		name:   "MOVWgpfp",
27581		argLen: 1,
27582		asm:    mips.AMOVW,
27583		reg: regInfo{
27584			inputs: []inputInfo{
27585				{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
27586			},
27587			outputs: []outputInfo{
27588				{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
27589			},
27590		},
27591	},
27592	{
27593		name:   "MOVVfpgp",
27594		argLen: 1,
27595		asm:    mips.AMOVV,
27596		reg: regInfo{
27597			inputs: []inputInfo{
27598				{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
27599			},
27600			outputs: []outputInfo{
27601				{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
27602			},
27603		},
27604	},
27605	{
27606		name:   "MOVVgpfp",
27607		argLen: 1,
27608		asm:    mips.AMOVV,
27609		reg: regInfo{
27610			inputs: []inputInfo{
27611				{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
27612			},
27613			outputs: []outputInfo{
27614				{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
27615			},
27616		},
27617	},
27618	{
27619		name:   "MOVBreg",
27620		argLen: 1,
27621		asm:    mips.AMOVB,
27622		reg: regInfo{
27623			inputs: []inputInfo{
27624				{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
27625			},
27626			outputs: []outputInfo{
27627				{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
27628			},
27629		},
27630	},
27631	{
27632		name:   "MOVBUreg",
27633		argLen: 1,
27634		asm:    mips.AMOVBU,
27635		reg: regInfo{
27636			inputs: []inputInfo{
27637				{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
27638			},
27639			outputs: []outputInfo{
27640				{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
27641			},
27642		},
27643	},
27644	{
27645		name:   "MOVHreg",
27646		argLen: 1,
27647		asm:    mips.AMOVH,
27648		reg: regInfo{
27649			inputs: []inputInfo{
27650				{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
27651			},
27652			outputs: []outputInfo{
27653				{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
27654			},
27655		},
27656	},
27657	{
27658		name:   "MOVHUreg",
27659		argLen: 1,
27660		asm:    mips.AMOVHU,
27661		reg: regInfo{
27662			inputs: []inputInfo{
27663				{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
27664			},
27665			outputs: []outputInfo{
27666				{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
27667			},
27668		},
27669	},
27670	{
27671		name:   "MOVWreg",
27672		argLen: 1,
27673		asm:    mips.AMOVW,
27674		reg: regInfo{
27675			inputs: []inputInfo{
27676				{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
27677			},
27678			outputs: []outputInfo{
27679				{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
27680			},
27681		},
27682	},
27683	{
27684		name:   "MOVWUreg",
27685		argLen: 1,
27686		asm:    mips.AMOVWU,
27687		reg: regInfo{
27688			inputs: []inputInfo{
27689				{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
27690			},
27691			outputs: []outputInfo{
27692				{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
27693			},
27694		},
27695	},
27696	{
27697		name:   "MOVVreg",
27698		argLen: 1,
27699		asm:    mips.AMOVV,
27700		reg: regInfo{
27701			inputs: []inputInfo{
27702				{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
27703			},
27704			outputs: []outputInfo{
27705				{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
27706			},
27707		},
27708	},
27709	{
27710		name:         "MOVVnop",
27711		argLen:       1,
27712		resultInArg0: true,
27713		reg: regInfo{
27714			inputs: []inputInfo{
27715				{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
27716			},
27717			outputs: []outputInfo{
27718				{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
27719			},
27720		},
27721	},
27722	{
27723		name:   "MOVWF",
27724		argLen: 1,
27725		asm:    mips.AMOVWF,
27726		reg: regInfo{
27727			inputs: []inputInfo{
27728				{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
27729			},
27730			outputs: []outputInfo{
27731				{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
27732			},
27733		},
27734	},
27735	{
27736		name:   "MOVWD",
27737		argLen: 1,
27738		asm:    mips.AMOVWD,
27739		reg: regInfo{
27740			inputs: []inputInfo{
27741				{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
27742			},
27743			outputs: []outputInfo{
27744				{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
27745			},
27746		},
27747	},
27748	{
27749		name:   "MOVVF",
27750		argLen: 1,
27751		asm:    mips.AMOVVF,
27752		reg: regInfo{
27753			inputs: []inputInfo{
27754				{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
27755			},
27756			outputs: []outputInfo{
27757				{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
27758			},
27759		},
27760	},
27761	{
27762		name:   "MOVVD",
27763		argLen: 1,
27764		asm:    mips.AMOVVD,
27765		reg: regInfo{
27766			inputs: []inputInfo{
27767				{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
27768			},
27769			outputs: []outputInfo{
27770				{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
27771			},
27772		},
27773	},
27774	{
27775		name:   "TRUNCFW",
27776		argLen: 1,
27777		asm:    mips.ATRUNCFW,
27778		reg: regInfo{
27779			inputs: []inputInfo{
27780				{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
27781			},
27782			outputs: []outputInfo{
27783				{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
27784			},
27785		},
27786	},
27787	{
27788		name:   "TRUNCDW",
27789		argLen: 1,
27790		asm:    mips.ATRUNCDW,
27791		reg: regInfo{
27792			inputs: []inputInfo{
27793				{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
27794			},
27795			outputs: []outputInfo{
27796				{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
27797			},
27798		},
27799	},
27800	{
27801		name:   "TRUNCFV",
27802		argLen: 1,
27803		asm:    mips.ATRUNCFV,
27804		reg: regInfo{
27805			inputs: []inputInfo{
27806				{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
27807			},
27808			outputs: []outputInfo{
27809				{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
27810			},
27811		},
27812	},
27813	{
27814		name:   "TRUNCDV",
27815		argLen: 1,
27816		asm:    mips.ATRUNCDV,
27817		reg: regInfo{
27818			inputs: []inputInfo{
27819				{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
27820			},
27821			outputs: []outputInfo{
27822				{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
27823			},
27824		},
27825	},
27826	{
27827		name:   "MOVFD",
27828		argLen: 1,
27829		asm:    mips.AMOVFD,
27830		reg: regInfo{
27831			inputs: []inputInfo{
27832				{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
27833			},
27834			outputs: []outputInfo{
27835				{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
27836			},
27837		},
27838	},
27839	{
27840		name:   "MOVDF",
27841		argLen: 1,
27842		asm:    mips.AMOVDF,
27843		reg: regInfo{
27844			inputs: []inputInfo{
27845				{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
27846			},
27847			outputs: []outputInfo{
27848				{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
27849			},
27850		},
27851	},
27852	{
27853		name:         "CALLstatic",
27854		auxType:      auxCallOff,
27855		argLen:       1,
27856		clobberFlags: true,
27857		call:         true,
27858		reg: regInfo{
27859			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
27860		},
27861	},
27862	{
27863		name:         "CALLtail",
27864		auxType:      auxCallOff,
27865		argLen:       1,
27866		clobberFlags: true,
27867		call:         true,
27868		tailCall:     true,
27869		reg: regInfo{
27870			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
27871		},
27872	},
27873	{
27874		name:         "CALLclosure",
27875		auxType:      auxCallOff,
27876		argLen:       3,
27877		clobberFlags: true,
27878		call:         true,
27879		reg: regInfo{
27880			inputs: []inputInfo{
27881				{1, 4194304},   // R22
27882				{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
27883			},
27884			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
27885		},
27886	},
27887	{
27888		name:         "CALLinter",
27889		auxType:      auxCallOff,
27890		argLen:       2,
27891		clobberFlags: true,
27892		call:         true,
27893		reg: regInfo{
27894			inputs: []inputInfo{
27895				{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
27896			},
27897			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
27898		},
27899	},
27900	{
27901		name:           "DUFFZERO",
27902		auxType:        auxInt64,
27903		argLen:         2,
27904		faultOnNilArg0: true,
27905		reg: regInfo{
27906			inputs: []inputInfo{
27907				{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
27908			},
27909			clobbers: 134217730, // R1 R31
27910		},
27911	},
27912	{
27913		name:           "DUFFCOPY",
27914		auxType:        auxInt64,
27915		argLen:         3,
27916		faultOnNilArg0: true,
27917		faultOnNilArg1: true,
27918		reg: regInfo{
27919			inputs: []inputInfo{
27920				{0, 4}, // R2
27921				{1, 2}, // R1
27922			},
27923			clobbers: 134217734, // R1 R2 R31
27924		},
27925	},
27926	{
27927		name:           "LoweredZero",
27928		auxType:        auxInt64,
27929		argLen:         3,
27930		clobberFlags:   true,
27931		faultOnNilArg0: true,
27932		reg: regInfo{
27933			inputs: []inputInfo{
27934				{0, 2},         // R1
27935				{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
27936			},
27937			clobbers: 2, // R1
27938		},
27939	},
27940	{
27941		name:           "LoweredMove",
27942		auxType:        auxInt64,
27943		argLen:         4,
27944		clobberFlags:   true,
27945		faultOnNilArg0: true,
27946		faultOnNilArg1: true,
27947		reg: regInfo{
27948			inputs: []inputInfo{
27949				{0, 4},         // R2
27950				{1, 2},         // R1
27951				{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
27952			},
27953			clobbers: 6, // R1 R2
27954		},
27955	},
27956	{
27957		name:           "LoweredAtomicAnd32",
27958		argLen:         3,
27959		faultOnNilArg0: true,
27960		hasSideEffects: true,
27961		unsafePoint:    true,
27962		asm:            mips.AAND,
27963		reg: regInfo{
27964			inputs: []inputInfo{
27965				{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
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:           "LoweredAtomicOr32",
27972		argLen:         3,
27973		faultOnNilArg0: true,
27974		hasSideEffects: true,
27975		unsafePoint:    true,
27976		asm:            mips.AOR,
27977		reg: regInfo{
27978			inputs: []inputInfo{
27979				{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
27980				{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
27981			},
27982		},
27983	},
27984	{
27985		name:           "LoweredAtomicLoad8",
27986		argLen:         2,
27987		faultOnNilArg0: true,
27988		reg: regInfo{
27989			inputs: []inputInfo{
27990				{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
27991			},
27992			outputs: []outputInfo{
27993				{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
27994			},
27995		},
27996	},
27997	{
27998		name:           "LoweredAtomicLoad32",
27999		argLen:         2,
28000		faultOnNilArg0: true,
28001		reg: regInfo{
28002			inputs: []inputInfo{
28003				{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
28004			},
28005			outputs: []outputInfo{
28006				{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
28007			},
28008		},
28009	},
28010	{
28011		name:           "LoweredAtomicLoad64",
28012		argLen:         2,
28013		faultOnNilArg0: true,
28014		reg: regInfo{
28015			inputs: []inputInfo{
28016				{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
28017			},
28018			outputs: []outputInfo{
28019				{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
28020			},
28021		},
28022	},
28023	{
28024		name:           "LoweredAtomicStore8",
28025		argLen:         3,
28026		faultOnNilArg0: true,
28027		hasSideEffects: true,
28028		reg: regInfo{
28029			inputs: []inputInfo{
28030				{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
28031				{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
28032			},
28033		},
28034	},
28035	{
28036		name:           "LoweredAtomicStore32",
28037		argLen:         3,
28038		faultOnNilArg0: true,
28039		hasSideEffects: true,
28040		reg: regInfo{
28041			inputs: []inputInfo{
28042				{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
28043				{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
28044			},
28045		},
28046	},
28047	{
28048		name:           "LoweredAtomicStore64",
28049		argLen:         3,
28050		faultOnNilArg0: true,
28051		hasSideEffects: true,
28052		reg: regInfo{
28053			inputs: []inputInfo{
28054				{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
28055				{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
28056			},
28057		},
28058	},
28059	{
28060		name:           "LoweredAtomicStorezero32",
28061		argLen:         2,
28062		faultOnNilArg0: true,
28063		hasSideEffects: true,
28064		reg: regInfo{
28065			inputs: []inputInfo{
28066				{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
28067			},
28068		},
28069	},
28070	{
28071		name:           "LoweredAtomicStorezero64",
28072		argLen:         2,
28073		faultOnNilArg0: true,
28074		hasSideEffects: true,
28075		reg: regInfo{
28076			inputs: []inputInfo{
28077				{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
28078			},
28079		},
28080	},
28081	{
28082		name:            "LoweredAtomicExchange32",
28083		argLen:          3,
28084		resultNotInArgs: true,
28085		faultOnNilArg0:  true,
28086		hasSideEffects:  true,
28087		unsafePoint:     true,
28088		reg: regInfo{
28089			inputs: []inputInfo{
28090				{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
28091				{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
28092			},
28093			outputs: []outputInfo{
28094				{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
28095			},
28096		},
28097	},
28098	{
28099		name:            "LoweredAtomicExchange64",
28100		argLen:          3,
28101		resultNotInArgs: true,
28102		faultOnNilArg0:  true,
28103		hasSideEffects:  true,
28104		unsafePoint:     true,
28105		reg: regInfo{
28106			inputs: []inputInfo{
28107				{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
28108				{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
28109			},
28110			outputs: []outputInfo{
28111				{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
28112			},
28113		},
28114	},
28115	{
28116		name:            "LoweredAtomicAdd32",
28117		argLen:          3,
28118		resultNotInArgs: true,
28119		faultOnNilArg0:  true,
28120		hasSideEffects:  true,
28121		unsafePoint:     true,
28122		reg: regInfo{
28123			inputs: []inputInfo{
28124				{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
28125				{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
28126			},
28127			outputs: []outputInfo{
28128				{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
28129			},
28130		},
28131	},
28132	{
28133		name:            "LoweredAtomicAdd64",
28134		argLen:          3,
28135		resultNotInArgs: true,
28136		faultOnNilArg0:  true,
28137		hasSideEffects:  true,
28138		unsafePoint:     true,
28139		reg: regInfo{
28140			inputs: []inputInfo{
28141				{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
28142				{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
28143			},
28144			outputs: []outputInfo{
28145				{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
28146			},
28147		},
28148	},
28149	{
28150		name:            "LoweredAtomicAddconst32",
28151		auxType:         auxInt32,
28152		argLen:          2,
28153		resultNotInArgs: true,
28154		faultOnNilArg0:  true,
28155		hasSideEffects:  true,
28156		unsafePoint:     true,
28157		reg: regInfo{
28158			inputs: []inputInfo{
28159				{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
28160			},
28161			outputs: []outputInfo{
28162				{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
28163			},
28164		},
28165	},
28166	{
28167		name:            "LoweredAtomicAddconst64",
28168		auxType:         auxInt64,
28169		argLen:          2,
28170		resultNotInArgs: true,
28171		faultOnNilArg0:  true,
28172		hasSideEffects:  true,
28173		unsafePoint:     true,
28174		reg: regInfo{
28175			inputs: []inputInfo{
28176				{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
28177			},
28178			outputs: []outputInfo{
28179				{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
28180			},
28181		},
28182	},
28183	{
28184		name:            "LoweredAtomicCas32",
28185		argLen:          4,
28186		resultNotInArgs: true,
28187		faultOnNilArg0:  true,
28188		hasSideEffects:  true,
28189		unsafePoint:     true,
28190		reg: regInfo{
28191			inputs: []inputInfo{
28192				{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
28193				{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
28194				{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
28195			},
28196			outputs: []outputInfo{
28197				{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
28198			},
28199		},
28200	},
28201	{
28202		name:            "LoweredAtomicCas64",
28203		argLen:          4,
28204		resultNotInArgs: true,
28205		faultOnNilArg0:  true,
28206		hasSideEffects:  true,
28207		unsafePoint:     true,
28208		reg: regInfo{
28209			inputs: []inputInfo{
28210				{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
28211				{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
28212				{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
28213			},
28214			outputs: []outputInfo{
28215				{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
28216			},
28217		},
28218	},
28219	{
28220		name:           "LoweredNilCheck",
28221		argLen:         2,
28222		nilCheck:       true,
28223		faultOnNilArg0: true,
28224		reg: regInfo{
28225			inputs: []inputInfo{
28226				{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
28227			},
28228		},
28229	},
28230	{
28231		name:   "FPFlagTrue",
28232		argLen: 1,
28233		reg: regInfo{
28234			outputs: []outputInfo{
28235				{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
28236			},
28237		},
28238	},
28239	{
28240		name:   "FPFlagFalse",
28241		argLen: 1,
28242		reg: regInfo{
28243			outputs: []outputInfo{
28244				{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
28245			},
28246		},
28247	},
28248	{
28249		name:      "LoweredGetClosurePtr",
28250		argLen:    0,
28251		zeroWidth: true,
28252		reg: regInfo{
28253			outputs: []outputInfo{
28254				{0, 4194304}, // R22
28255			},
28256		},
28257	},
28258	{
28259		name:              "LoweredGetCallerSP",
28260		argLen:            1,
28261		rematerializeable: true,
28262		reg: regInfo{
28263			outputs: []outputInfo{
28264				{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
28265			},
28266		},
28267	},
28268	{
28269		name:              "LoweredGetCallerPC",
28270		argLen:            0,
28271		rematerializeable: true,
28272		reg: regInfo{
28273			outputs: []outputInfo{
28274				{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
28275			},
28276		},
28277	},
28278	{
28279		name:         "LoweredWB",
28280		auxType:      auxInt64,
28281		argLen:       1,
28282		clobberFlags: true,
28283		reg: regInfo{
28284			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
28285			outputs: []outputInfo{
28286				{0, 16777216}, // R25
28287			},
28288		},
28289	},
28290	{
28291		name:    "LoweredPanicBoundsA",
28292		auxType: auxInt64,
28293		argLen:  3,
28294		call:    true,
28295		reg: regInfo{
28296			inputs: []inputInfo{
28297				{0, 8},  // R3
28298				{1, 16}, // R4
28299			},
28300		},
28301	},
28302	{
28303		name:    "LoweredPanicBoundsB",
28304		auxType: auxInt64,
28305		argLen:  3,
28306		call:    true,
28307		reg: regInfo{
28308			inputs: []inputInfo{
28309				{0, 4}, // R2
28310				{1, 8}, // R3
28311			},
28312		},
28313	},
28314	{
28315		name:    "LoweredPanicBoundsC",
28316		auxType: auxInt64,
28317		argLen:  3,
28318		call:    true,
28319		reg: regInfo{
28320			inputs: []inputInfo{
28321				{0, 2}, // R1
28322				{1, 4}, // R2
28323			},
28324		},
28325	},
28326
28327	{
28328		name:        "ADD",
28329		argLen:      2,
28330		commutative: true,
28331		asm:         ppc64.AADD,
28332		reg: regInfo{
28333			inputs: []inputInfo{
28334				{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
28335				{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
28336			},
28337			outputs: []outputInfo{
28338				{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
28339			},
28340		},
28341	},
28342	{
28343		name:        "ADDCC",
28344		argLen:      2,
28345		commutative: true,
28346		asm:         ppc64.AADDCC,
28347		reg: regInfo{
28348			inputs: []inputInfo{
28349				{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
28350				{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
28351			},
28352			outputs: []outputInfo{
28353				{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
28354			},
28355		},
28356	},
28357	{
28358		name:    "ADDconst",
28359		auxType: auxInt64,
28360		argLen:  1,
28361		asm:     ppc64.AADD,
28362		reg: regInfo{
28363			inputs: []inputInfo{
28364				{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
28365			},
28366			outputs: []outputInfo{
28367				{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
28368			},
28369		},
28370	},
28371	{
28372		name:    "ADDCCconst",
28373		auxType: auxInt64,
28374		argLen:  1,
28375		asm:     ppc64.AADDCCC,
28376		reg: regInfo{
28377			inputs: []inputInfo{
28378				{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
28379			},
28380			clobbers: 9223372036854775808, // XER
28381			outputs: []outputInfo{
28382				{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
28383			},
28384		},
28385	},
28386	{
28387		name:        "FADD",
28388		argLen:      2,
28389		commutative: true,
28390		asm:         ppc64.AFADD,
28391		reg: regInfo{
28392			inputs: []inputInfo{
28393				{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
28394				{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
28395			},
28396			outputs: []outputInfo{
28397				{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
28398			},
28399		},
28400	},
28401	{
28402		name:        "FADDS",
28403		argLen:      2,
28404		commutative: true,
28405		asm:         ppc64.AFADDS,
28406		reg: regInfo{
28407			inputs: []inputInfo{
28408				{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
28409				{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
28410			},
28411			outputs: []outputInfo{
28412				{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
28413			},
28414		},
28415	},
28416	{
28417		name:   "SUB",
28418		argLen: 2,
28419		asm:    ppc64.ASUB,
28420		reg: regInfo{
28421			inputs: []inputInfo{
28422				{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
28423				{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
28424			},
28425			outputs: []outputInfo{
28426				{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
28427			},
28428		},
28429	},
28430	{
28431		name:   "SUBCC",
28432		argLen: 2,
28433		asm:    ppc64.ASUBCC,
28434		reg: regInfo{
28435			inputs: []inputInfo{
28436				{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
28437				{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
28438			},
28439			outputs: []outputInfo{
28440				{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
28441			},
28442		},
28443	},
28444	{
28445		name:    "SUBFCconst",
28446		auxType: auxInt64,
28447		argLen:  1,
28448		asm:     ppc64.ASUBC,
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			},
28453			clobbers: 9223372036854775808, // XER
28454			outputs: []outputInfo{
28455				{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
28456			},
28457		},
28458	},
28459	{
28460		name:   "FSUB",
28461		argLen: 2,
28462		asm:    ppc64.AFSUB,
28463		reg: regInfo{
28464			inputs: []inputInfo{
28465				{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
28466				{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
28467			},
28468			outputs: []outputInfo{
28469				{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
28470			},
28471		},
28472	},
28473	{
28474		name:   "FSUBS",
28475		argLen: 2,
28476		asm:    ppc64.AFSUBS,
28477		reg: regInfo{
28478			inputs: []inputInfo{
28479				{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
28480				{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
28481			},
28482			outputs: []outputInfo{
28483				{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
28484			},
28485		},
28486	},
28487	{
28488		name:   "XSMINJDP",
28489		argLen: 2,
28490		asm:    ppc64.AXSMINJDP,
28491		reg: regInfo{
28492			inputs: []inputInfo{
28493				{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
28494				{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
28495			},
28496			outputs: []outputInfo{
28497				{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
28498			},
28499		},
28500	},
28501	{
28502		name:   "XSMAXJDP",
28503		argLen: 2,
28504		asm:    ppc64.AXSMAXJDP,
28505		reg: regInfo{
28506			inputs: []inputInfo{
28507				{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
28508				{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
28509			},
28510			outputs: []outputInfo{
28511				{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
28512			},
28513		},
28514	},
28515	{
28516		name:        "MULLD",
28517		argLen:      2,
28518		commutative: true,
28519		asm:         ppc64.AMULLD,
28520		reg: regInfo{
28521			inputs: []inputInfo{
28522				{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
28523				{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
28524			},
28525			outputs: []outputInfo{
28526				{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
28527			},
28528		},
28529	},
28530	{
28531		name:        "MULLW",
28532		argLen:      2,
28533		commutative: true,
28534		asm:         ppc64.AMULLW,
28535		reg: regInfo{
28536			inputs: []inputInfo{
28537				{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
28538				{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
28539			},
28540			outputs: []outputInfo{
28541				{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
28542			},
28543		},
28544	},
28545	{
28546		name:    "MULLDconst",
28547		auxType: auxInt32,
28548		argLen:  1,
28549		asm:     ppc64.AMULLD,
28550		reg: regInfo{
28551			inputs: []inputInfo{
28552				{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
28553			},
28554			outputs: []outputInfo{
28555				{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
28556			},
28557		},
28558	},
28559	{
28560		name:    "MULLWconst",
28561		auxType: auxInt32,
28562		argLen:  1,
28563		asm:     ppc64.AMULLW,
28564		reg: regInfo{
28565			inputs: []inputInfo{
28566				{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
28567			},
28568			outputs: []outputInfo{
28569				{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
28570			},
28571		},
28572	},
28573	{
28574		name:   "MADDLD",
28575		argLen: 3,
28576		asm:    ppc64.AMADDLD,
28577		reg: regInfo{
28578			inputs: []inputInfo{
28579				{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
28580				{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
28581				{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
28582			},
28583			outputs: []outputInfo{
28584				{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
28585			},
28586		},
28587	},
28588	{
28589		name:        "MULHD",
28590		argLen:      2,
28591		commutative: true,
28592		asm:         ppc64.AMULHD,
28593		reg: regInfo{
28594			inputs: []inputInfo{
28595				{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
28596				{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
28597			},
28598			outputs: []outputInfo{
28599				{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
28600			},
28601		},
28602	},
28603	{
28604		name:        "MULHW",
28605		argLen:      2,
28606		commutative: true,
28607		asm:         ppc64.AMULHW,
28608		reg: regInfo{
28609			inputs: []inputInfo{
28610				{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
28611				{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
28612			},
28613			outputs: []outputInfo{
28614				{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
28615			},
28616		},
28617	},
28618	{
28619		name:        "MULHDU",
28620		argLen:      2,
28621		commutative: true,
28622		asm:         ppc64.AMULHDU,
28623		reg: regInfo{
28624			inputs: []inputInfo{
28625				{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
28626				{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
28627			},
28628			outputs: []outputInfo{
28629				{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
28630			},
28631		},
28632	},
28633	{
28634		name:        "MULHWU",
28635		argLen:      2,
28636		commutative: true,
28637		asm:         ppc64.AMULHWU,
28638		reg: regInfo{
28639			inputs: []inputInfo{
28640				{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
28641				{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
28642			},
28643			outputs: []outputInfo{
28644				{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
28645			},
28646		},
28647	},
28648	{
28649		name:        "FMUL",
28650		argLen:      2,
28651		commutative: true,
28652		asm:         ppc64.AFMUL,
28653		reg: regInfo{
28654			inputs: []inputInfo{
28655				{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
28656				{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
28657			},
28658			outputs: []outputInfo{
28659				{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
28660			},
28661		},
28662	},
28663	{
28664		name:        "FMULS",
28665		argLen:      2,
28666		commutative: true,
28667		asm:         ppc64.AFMULS,
28668		reg: regInfo{
28669			inputs: []inputInfo{
28670				{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
28671				{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
28672			},
28673			outputs: []outputInfo{
28674				{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
28675			},
28676		},
28677	},
28678	{
28679		name:   "FMADD",
28680		argLen: 3,
28681		asm:    ppc64.AFMADD,
28682		reg: regInfo{
28683			inputs: []inputInfo{
28684				{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
28685				{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
28686				{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
28687			},
28688			outputs: []outputInfo{
28689				{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
28690			},
28691		},
28692	},
28693	{
28694		name:   "FMADDS",
28695		argLen: 3,
28696		asm:    ppc64.AFMADDS,
28697		reg: regInfo{
28698			inputs: []inputInfo{
28699				{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
28700				{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
28701				{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
28702			},
28703			outputs: []outputInfo{
28704				{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
28705			},
28706		},
28707	},
28708	{
28709		name:   "FMSUB",
28710		argLen: 3,
28711		asm:    ppc64.AFMSUB,
28712		reg: regInfo{
28713			inputs: []inputInfo{
28714				{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
28715				{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
28716				{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
28717			},
28718			outputs: []outputInfo{
28719				{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
28720			},
28721		},
28722	},
28723	{
28724		name:   "FMSUBS",
28725		argLen: 3,
28726		asm:    ppc64.AFMSUBS,
28727		reg: regInfo{
28728			inputs: []inputInfo{
28729				{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
28730				{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
28731				{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
28732			},
28733			outputs: []outputInfo{
28734				{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
28735			},
28736		},
28737	},
28738	{
28739		name:   "SRAD",
28740		argLen: 2,
28741		asm:    ppc64.ASRAD,
28742		reg: regInfo{
28743			inputs: []inputInfo{
28744				{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
28745				{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
28746			},
28747			clobbers: 9223372036854775808, // XER
28748			outputs: []outputInfo{
28749				{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
28750			},
28751		},
28752	},
28753	{
28754		name:   "SRAW",
28755		argLen: 2,
28756		asm:    ppc64.ASRAW,
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				{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
28765			},
28766		},
28767	},
28768	{
28769		name:   "SRD",
28770		argLen: 2,
28771		asm:    ppc64.ASRD,
28772		reg: regInfo{
28773			inputs: []inputInfo{
28774				{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
28775				{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
28776			},
28777			outputs: []outputInfo{
28778				{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
28779			},
28780		},
28781	},
28782	{
28783		name:   "SRW",
28784		argLen: 2,
28785		asm:    ppc64.ASRW,
28786		reg: regInfo{
28787			inputs: []inputInfo{
28788				{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
28789				{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
28790			},
28791			outputs: []outputInfo{
28792				{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
28793			},
28794		},
28795	},
28796	{
28797		name:   "SLD",
28798		argLen: 2,
28799		asm:    ppc64.ASLD,
28800		reg: regInfo{
28801			inputs: []inputInfo{
28802				{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
28803				{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
28804			},
28805			outputs: []outputInfo{
28806				{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
28807			},
28808		},
28809	},
28810	{
28811		name:   "SLW",
28812		argLen: 2,
28813		asm:    ppc64.ASLW,
28814		reg: regInfo{
28815			inputs: []inputInfo{
28816				{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
28817				{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
28818			},
28819			outputs: []outputInfo{
28820				{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
28821			},
28822		},
28823	},
28824	{
28825		name:   "ROTL",
28826		argLen: 2,
28827		asm:    ppc64.AROTL,
28828		reg: regInfo{
28829			inputs: []inputInfo{
28830				{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
28831				{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
28832			},
28833			outputs: []outputInfo{
28834				{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
28835			},
28836		},
28837	},
28838	{
28839		name:   "ROTLW",
28840		argLen: 2,
28841		asm:    ppc64.AROTLW,
28842		reg: regInfo{
28843			inputs: []inputInfo{
28844				{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
28845				{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
28846			},
28847			outputs: []outputInfo{
28848				{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
28849			},
28850		},
28851	},
28852	{
28853		name:    "CLRLSLWI",
28854		auxType: auxInt32,
28855		argLen:  1,
28856		asm:     ppc64.ACLRLSLWI,
28857		reg: regInfo{
28858			inputs: []inputInfo{
28859				{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
28860			},
28861			outputs: []outputInfo{
28862				{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
28863			},
28864		},
28865	},
28866	{
28867		name:    "CLRLSLDI",
28868		auxType: auxInt32,
28869		argLen:  1,
28870		asm:     ppc64.ACLRLSLDI,
28871		reg: regInfo{
28872			inputs: []inputInfo{
28873				{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
28874			},
28875			outputs: []outputInfo{
28876				{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
28877			},
28878		},
28879	},
28880	{
28881		name:        "ADDC",
28882		argLen:      2,
28883		commutative: true,
28884		asm:         ppc64.AADDC,
28885		reg: regInfo{
28886			inputs: []inputInfo{
28887				{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
28888				{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
28889			},
28890			clobbers: 9223372036854775808, // XER
28891			outputs: []outputInfo{
28892				{1, 9223372036854775808}, // XER
28893				{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
28894			},
28895		},
28896	},
28897	{
28898		name:   "SUBC",
28899		argLen: 2,
28900		asm:    ppc64.ASUBC,
28901		reg: regInfo{
28902			inputs: []inputInfo{
28903				{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
28904				{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
28905			},
28906			clobbers: 9223372036854775808, // XER
28907			outputs: []outputInfo{
28908				{1, 9223372036854775808}, // XER
28909				{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
28910			},
28911		},
28912	},
28913	{
28914		name:    "ADDCconst",
28915		auxType: auxInt64,
28916		argLen:  1,
28917		asm:     ppc64.AADDC,
28918		reg: regInfo{
28919			inputs: []inputInfo{
28920				{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
28921			},
28922			outputs: []outputInfo{
28923				{1, 9223372036854775808}, // XER
28924				{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
28925			},
28926		},
28927	},
28928	{
28929		name:    "SUBCconst",
28930		auxType: auxInt64,
28931		argLen:  1,
28932		asm:     ppc64.ASUBC,
28933		reg: regInfo{
28934			inputs: []inputInfo{
28935				{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
28936			},
28937			outputs: []outputInfo{
28938				{1, 9223372036854775808}, // XER
28939				{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
28940			},
28941		},
28942	},
28943	{
28944		name:        "ADDE",
28945		argLen:      3,
28946		commutative: true,
28947		asm:         ppc64.AADDE,
28948		reg: regInfo{
28949			inputs: []inputInfo{
28950				{2, 9223372036854775808}, // XER
28951				{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
28952				{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
28953			},
28954			clobbers: 9223372036854775808, // XER
28955			outputs: []outputInfo{
28956				{1, 9223372036854775808}, // XER
28957				{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
28958			},
28959		},
28960	},
28961	{
28962		name:   "ADDZE",
28963		argLen: 2,
28964		asm:    ppc64.AADDZE,
28965		reg: regInfo{
28966			inputs: []inputInfo{
28967				{1, 9223372036854775808}, // XER
28968				{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
28969			},
28970			clobbers: 9223372036854775808, // XER
28971			outputs: []outputInfo{
28972				{1, 9223372036854775808}, // XER
28973				{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
28974			},
28975		},
28976	},
28977	{
28978		name:   "SUBE",
28979		argLen: 3,
28980		asm:    ppc64.ASUBE,
28981		reg: regInfo{
28982			inputs: []inputInfo{
28983				{2, 9223372036854775808}, // XER
28984				{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
28985				{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
28986			},
28987			clobbers: 9223372036854775808, // XER
28988			outputs: []outputInfo{
28989				{1, 9223372036854775808}, // XER
28990				{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
28991			},
28992		},
28993	},
28994	{
28995		name:   "ADDZEzero",
28996		argLen: 1,
28997		asm:    ppc64.AADDZE,
28998		reg: regInfo{
28999			inputs: []inputInfo{
29000				{0, 9223372036854775808}, // XER
29001			},
29002			clobbers: 9223372036854775808, // XER
29003			outputs: []outputInfo{
29004				{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
29005			},
29006		},
29007	},
29008	{
29009		name:   "SUBZEzero",
29010		argLen: 1,
29011		asm:    ppc64.ASUBZE,
29012		reg: regInfo{
29013			inputs: []inputInfo{
29014				{0, 9223372036854775808}, // XER
29015			},
29016			clobbers: 9223372036854775808, // XER
29017			outputs: []outputInfo{
29018				{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
29019			},
29020		},
29021	},
29022	{
29023		name:    "SRADconst",
29024		auxType: auxInt64,
29025		argLen:  1,
29026		asm:     ppc64.ASRAD,
29027		reg: regInfo{
29028			inputs: []inputInfo{
29029				{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
29030			},
29031			clobbers: 9223372036854775808, // XER
29032			outputs: []outputInfo{
29033				{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
29034			},
29035		},
29036	},
29037	{
29038		name:    "SRAWconst",
29039		auxType: auxInt64,
29040		argLen:  1,
29041		asm:     ppc64.ASRAW,
29042		reg: regInfo{
29043			inputs: []inputInfo{
29044				{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
29045			},
29046			clobbers: 9223372036854775808, // XER
29047			outputs: []outputInfo{
29048				{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
29049			},
29050		},
29051	},
29052	{
29053		name:    "SRDconst",
29054		auxType: auxInt64,
29055		argLen:  1,
29056		asm:     ppc64.ASRD,
29057		reg: regInfo{
29058			inputs: []inputInfo{
29059				{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
29060			},
29061			outputs: []outputInfo{
29062				{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
29063			},
29064		},
29065	},
29066	{
29067		name:    "SRWconst",
29068		auxType: auxInt64,
29069		argLen:  1,
29070		asm:     ppc64.ASRW,
29071		reg: regInfo{
29072			inputs: []inputInfo{
29073				{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
29074			},
29075			outputs: []outputInfo{
29076				{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
29077			},
29078		},
29079	},
29080	{
29081		name:    "SLDconst",
29082		auxType: auxInt64,
29083		argLen:  1,
29084		asm:     ppc64.ASLD,
29085		reg: regInfo{
29086			inputs: []inputInfo{
29087				{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
29088			},
29089			outputs: []outputInfo{
29090				{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
29091			},
29092		},
29093	},
29094	{
29095		name:    "SLWconst",
29096		auxType: auxInt64,
29097		argLen:  1,
29098		asm:     ppc64.ASLW,
29099		reg: regInfo{
29100			inputs: []inputInfo{
29101				{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
29102			},
29103			outputs: []outputInfo{
29104				{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
29105			},
29106		},
29107	},
29108	{
29109		name:    "ROTLconst",
29110		auxType: auxInt64,
29111		argLen:  1,
29112		asm:     ppc64.AROTL,
29113		reg: regInfo{
29114			inputs: []inputInfo{
29115				{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
29116			},
29117			outputs: []outputInfo{
29118				{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
29119			},
29120		},
29121	},
29122	{
29123		name:    "ROTLWconst",
29124		auxType: auxInt64,
29125		argLen:  1,
29126		asm:     ppc64.AROTLW,
29127		reg: regInfo{
29128			inputs: []inputInfo{
29129				{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
29130			},
29131			outputs: []outputInfo{
29132				{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
29133			},
29134		},
29135	},
29136	{
29137		name:    "EXTSWSLconst",
29138		auxType: auxInt64,
29139		argLen:  1,
29140		asm:     ppc64.AEXTSWSLI,
29141		reg: regInfo{
29142			inputs: []inputInfo{
29143				{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
29144			},
29145			outputs: []outputInfo{
29146				{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
29147			},
29148		},
29149	},
29150	{
29151		name:    "RLWINM",
29152		auxType: auxInt64,
29153		argLen:  1,
29154		asm:     ppc64.ARLWNM,
29155		reg: regInfo{
29156			inputs: []inputInfo{
29157				{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
29158			},
29159			outputs: []outputInfo{
29160				{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
29161			},
29162		},
29163	},
29164	{
29165		name:    "RLWNM",
29166		auxType: auxInt64,
29167		argLen:  2,
29168		asm:     ppc64.ARLWNM,
29169		reg: regInfo{
29170			inputs: []inputInfo{
29171				{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
29172				{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
29173			},
29174			outputs: []outputInfo{
29175				{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
29176			},
29177		},
29178	},
29179	{
29180		name:         "RLWMI",
29181		auxType:      auxInt64,
29182		argLen:       2,
29183		resultInArg0: true,
29184		asm:          ppc64.ARLWMI,
29185		reg: regInfo{
29186			inputs: []inputInfo{
29187				{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
29188				{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
29189			},
29190			outputs: []outputInfo{
29191				{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
29192			},
29193		},
29194	},
29195	{
29196		name:    "RLDICL",
29197		auxType: auxInt64,
29198		argLen:  1,
29199		asm:     ppc64.ARLDICL,
29200		reg: regInfo{
29201			inputs: []inputInfo{
29202				{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
29203			},
29204			outputs: []outputInfo{
29205				{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
29206			},
29207		},
29208	},
29209	{
29210		name:    "RLDICLCC",
29211		auxType: auxInt64,
29212		argLen:  1,
29213		asm:     ppc64.ARLDICLCC,
29214		reg: regInfo{
29215			inputs: []inputInfo{
29216				{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
29217			},
29218			outputs: []outputInfo{
29219				{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
29220			},
29221		},
29222	},
29223	{
29224		name:    "RLDICR",
29225		auxType: auxInt64,
29226		argLen:  1,
29227		asm:     ppc64.ARLDICR,
29228		reg: regInfo{
29229			inputs: []inputInfo{
29230				{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
29231			},
29232			outputs: []outputInfo{
29233				{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
29234			},
29235		},
29236	},
29237	{
29238		name:   "CNTLZD",
29239		argLen: 1,
29240		asm:    ppc64.ACNTLZD,
29241		reg: regInfo{
29242			inputs: []inputInfo{
29243				{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
29244			},
29245			outputs: []outputInfo{
29246				{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
29247			},
29248		},
29249	},
29250	{
29251		name:   "CNTLZDCC",
29252		argLen: 1,
29253		asm:    ppc64.ACNTLZDCC,
29254		reg: regInfo{
29255			inputs: []inputInfo{
29256				{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
29257			},
29258			outputs: []outputInfo{
29259				{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
29260			},
29261		},
29262	},
29263	{
29264		name:   "CNTLZW",
29265		argLen: 1,
29266		asm:    ppc64.ACNTLZW,
29267		reg: regInfo{
29268			inputs: []inputInfo{
29269				{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
29270			},
29271			outputs: []outputInfo{
29272				{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
29273			},
29274		},
29275	},
29276	{
29277		name:   "CNTTZD",
29278		argLen: 1,
29279		asm:    ppc64.ACNTTZD,
29280		reg: regInfo{
29281			inputs: []inputInfo{
29282				{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
29283			},
29284			outputs: []outputInfo{
29285				{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
29286			},
29287		},
29288	},
29289	{
29290		name:   "CNTTZW",
29291		argLen: 1,
29292		asm:    ppc64.ACNTTZW,
29293		reg: regInfo{
29294			inputs: []inputInfo{
29295				{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
29296			},
29297			outputs: []outputInfo{
29298				{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
29299			},
29300		},
29301	},
29302	{
29303		name:   "POPCNTD",
29304		argLen: 1,
29305		asm:    ppc64.APOPCNTD,
29306		reg: regInfo{
29307			inputs: []inputInfo{
29308				{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
29309			},
29310			outputs: []outputInfo{
29311				{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
29312			},
29313		},
29314	},
29315	{
29316		name:   "POPCNTW",
29317		argLen: 1,
29318		asm:    ppc64.APOPCNTW,
29319		reg: regInfo{
29320			inputs: []inputInfo{
29321				{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
29322			},
29323			outputs: []outputInfo{
29324				{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
29325			},
29326		},
29327	},
29328	{
29329		name:   "POPCNTB",
29330		argLen: 1,
29331		asm:    ppc64.APOPCNTB,
29332		reg: regInfo{
29333			inputs: []inputInfo{
29334				{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
29335			},
29336			outputs: []outputInfo{
29337				{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
29338			},
29339		},
29340	},
29341	{
29342		name:   "FDIV",
29343		argLen: 2,
29344		asm:    ppc64.AFDIV,
29345		reg: regInfo{
29346			inputs: []inputInfo{
29347				{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
29348				{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
29349			},
29350			outputs: []outputInfo{
29351				{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
29352			},
29353		},
29354	},
29355	{
29356		name:   "FDIVS",
29357		argLen: 2,
29358		asm:    ppc64.AFDIVS,
29359		reg: regInfo{
29360			inputs: []inputInfo{
29361				{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
29362				{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
29363			},
29364			outputs: []outputInfo{
29365				{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
29366			},
29367		},
29368	},
29369	{
29370		name:   "DIVD",
29371		argLen: 2,
29372		asm:    ppc64.ADIVD,
29373		reg: regInfo{
29374			inputs: []inputInfo{
29375				{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
29376				{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
29377			},
29378			outputs: []outputInfo{
29379				{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
29380			},
29381		},
29382	},
29383	{
29384		name:   "DIVW",
29385		argLen: 2,
29386		asm:    ppc64.ADIVW,
29387		reg: regInfo{
29388			inputs: []inputInfo{
29389				{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
29390				{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
29391			},
29392			outputs: []outputInfo{
29393				{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
29394			},
29395		},
29396	},
29397	{
29398		name:   "DIVDU",
29399		argLen: 2,
29400		asm:    ppc64.ADIVDU,
29401		reg: regInfo{
29402			inputs: []inputInfo{
29403				{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
29404				{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
29405			},
29406			outputs: []outputInfo{
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		},
29410	},
29411	{
29412		name:   "DIVWU",
29413		argLen: 2,
29414		asm:    ppc64.ADIVWU,
29415		reg: regInfo{
29416			inputs: []inputInfo{
29417				{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
29418				{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
29419			},
29420			outputs: []outputInfo{
29421				{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
29422			},
29423		},
29424	},
29425	{
29426		name:   "MODUD",
29427		argLen: 2,
29428		asm:    ppc64.AMODUD,
29429		reg: regInfo{
29430			inputs: []inputInfo{
29431				{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
29432				{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
29433			},
29434			outputs: []outputInfo{
29435				{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
29436			},
29437		},
29438	},
29439	{
29440		name:   "MODSD",
29441		argLen: 2,
29442		asm:    ppc64.AMODSD,
29443		reg: regInfo{
29444			inputs: []inputInfo{
29445				{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
29446				{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
29447			},
29448			outputs: []outputInfo{
29449				{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
29450			},
29451		},
29452	},
29453	{
29454		name:   "MODUW",
29455		argLen: 2,
29456		asm:    ppc64.AMODUW,
29457		reg: regInfo{
29458			inputs: []inputInfo{
29459				{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
29460				{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
29461			},
29462			outputs: []outputInfo{
29463				{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
29464			},
29465		},
29466	},
29467	{
29468		name:   "MODSW",
29469		argLen: 2,
29470		asm:    ppc64.AMODSW,
29471		reg: regInfo{
29472			inputs: []inputInfo{
29473				{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
29474				{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
29475			},
29476			outputs: []outputInfo{
29477				{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
29478			},
29479		},
29480	},
29481	{
29482		name:   "FCTIDZ",
29483		argLen: 1,
29484		asm:    ppc64.AFCTIDZ,
29485		reg: regInfo{
29486			inputs: []inputInfo{
29487				{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
29488			},
29489			outputs: []outputInfo{
29490				{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
29491			},
29492		},
29493	},
29494	{
29495		name:   "FCTIWZ",
29496		argLen: 1,
29497		asm:    ppc64.AFCTIWZ,
29498		reg: regInfo{
29499			inputs: []inputInfo{
29500				{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
29501			},
29502			outputs: []outputInfo{
29503				{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
29504			},
29505		},
29506	},
29507	{
29508		name:   "FCFID",
29509		argLen: 1,
29510		asm:    ppc64.AFCFID,
29511		reg: regInfo{
29512			inputs: []inputInfo{
29513				{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
29514			},
29515			outputs: []outputInfo{
29516				{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
29517			},
29518		},
29519	},
29520	{
29521		name:   "FCFIDS",
29522		argLen: 1,
29523		asm:    ppc64.AFCFIDS,
29524		reg: regInfo{
29525			inputs: []inputInfo{
29526				{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
29527			},
29528			outputs: []outputInfo{
29529				{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
29530			},
29531		},
29532	},
29533	{
29534		name:   "FRSP",
29535		argLen: 1,
29536		asm:    ppc64.AFRSP,
29537		reg: regInfo{
29538			inputs: []inputInfo{
29539				{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
29540			},
29541			outputs: []outputInfo{
29542				{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
29543			},
29544		},
29545	},
29546	{
29547		name:   "MFVSRD",
29548		argLen: 1,
29549		asm:    ppc64.AMFVSRD,
29550		reg: regInfo{
29551			inputs: []inputInfo{
29552				{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
29553			},
29554			outputs: []outputInfo{
29555				{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
29556			},
29557		},
29558	},
29559	{
29560		name:   "MTVSRD",
29561		argLen: 1,
29562		asm:    ppc64.AMTVSRD,
29563		reg: regInfo{
29564			inputs: []inputInfo{
29565				{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
29566			},
29567			outputs: []outputInfo{
29568				{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
29569			},
29570		},
29571	},
29572	{
29573		name:        "AND",
29574		argLen:      2,
29575		commutative: true,
29576		asm:         ppc64.AAND,
29577		reg: regInfo{
29578			inputs: []inputInfo{
29579				{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
29580				{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
29581			},
29582			outputs: []outputInfo{
29583				{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
29584			},
29585		},
29586	},
29587	{
29588		name:   "ANDN",
29589		argLen: 2,
29590		asm:    ppc64.AANDN,
29591		reg: regInfo{
29592			inputs: []inputInfo{
29593				{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
29594				{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
29595			},
29596			outputs: []outputInfo{
29597				{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
29598			},
29599		},
29600	},
29601	{
29602		name:   "ANDNCC",
29603		argLen: 2,
29604		asm:    ppc64.AANDNCC,
29605		reg: regInfo{
29606			inputs: []inputInfo{
29607				{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
29608				{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
29609			},
29610			outputs: []outputInfo{
29611				{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
29612			},
29613		},
29614	},
29615	{
29616		name:        "ANDCC",
29617		argLen:      2,
29618		commutative: true,
29619		asm:         ppc64.AANDCC,
29620		reg: regInfo{
29621			inputs: []inputInfo{
29622				{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
29623				{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
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:        "OR",
29632		argLen:      2,
29633		commutative: true,
29634		asm:         ppc64.AOR,
29635		reg: regInfo{
29636			inputs: []inputInfo{
29637				{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
29638				{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
29639			},
29640			outputs: []outputInfo{
29641				{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
29642			},
29643		},
29644	},
29645	{
29646		name:   "ORN",
29647		argLen: 2,
29648		asm:    ppc64.AORN,
29649		reg: regInfo{
29650			inputs: []inputInfo{
29651				{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
29652				{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
29653			},
29654			outputs: []outputInfo{
29655				{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
29656			},
29657		},
29658	},
29659	{
29660		name:        "ORCC",
29661		argLen:      2,
29662		commutative: true,
29663		asm:         ppc64.AORCC,
29664		reg: regInfo{
29665			inputs: []inputInfo{
29666				{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
29667				{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
29668			},
29669			outputs: []outputInfo{
29670				{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
29671			},
29672		},
29673	},
29674	{
29675		name:        "NOR",
29676		argLen:      2,
29677		commutative: true,
29678		asm:         ppc64.ANOR,
29679		reg: regInfo{
29680			inputs: []inputInfo{
29681				{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
29682				{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
29683			},
29684			outputs: []outputInfo{
29685				{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
29686			},
29687		},
29688	},
29689	{
29690		name:        "NORCC",
29691		argLen:      2,
29692		commutative: true,
29693		asm:         ppc64.ANORCC,
29694		reg: regInfo{
29695			inputs: []inputInfo{
29696				{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
29697				{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
29698			},
29699			outputs: []outputInfo{
29700				{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
29701			},
29702		},
29703	},
29704	{
29705		name:        "XOR",
29706		argLen:      2,
29707		commutative: true,
29708		asm:         ppc64.AXOR,
29709		reg: regInfo{
29710			inputs: []inputInfo{
29711				{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
29712				{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
29713			},
29714			outputs: []outputInfo{
29715				{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
29716			},
29717		},
29718	},
29719	{
29720		name:        "XORCC",
29721		argLen:      2,
29722		commutative: true,
29723		asm:         ppc64.AXORCC,
29724		reg: regInfo{
29725			inputs: []inputInfo{
29726				{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
29727				{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
29728			},
29729			outputs: []outputInfo{
29730				{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
29731			},
29732		},
29733	},
29734	{
29735		name:        "EQV",
29736		argLen:      2,
29737		commutative: true,
29738		asm:         ppc64.AEQV,
29739		reg: regInfo{
29740			inputs: []inputInfo{
29741				{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
29742				{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
29743			},
29744			outputs: []outputInfo{
29745				{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
29746			},
29747		},
29748	},
29749	{
29750		name:   "NEG",
29751		argLen: 1,
29752		asm:    ppc64.ANEG,
29753		reg: regInfo{
29754			inputs: []inputInfo{
29755				{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
29756			},
29757			outputs: []outputInfo{
29758				{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
29759			},
29760		},
29761	},
29762	{
29763		name:   "NEGCC",
29764		argLen: 1,
29765		asm:    ppc64.ANEGCC,
29766		reg: regInfo{
29767			inputs: []inputInfo{
29768				{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
29769			},
29770			outputs: []outputInfo{
29771				{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
29772			},
29773		},
29774	},
29775	{
29776		name:   "BRD",
29777		argLen: 1,
29778		asm:    ppc64.ABRD,
29779		reg: regInfo{
29780			inputs: []inputInfo{
29781				{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
29782			},
29783			outputs: []outputInfo{
29784				{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
29785			},
29786		},
29787	},
29788	{
29789		name:   "BRW",
29790		argLen: 1,
29791		asm:    ppc64.ABRW,
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:   "BRH",
29803		argLen: 1,
29804		asm:    ppc64.ABRH,
29805		reg: regInfo{
29806			inputs: []inputInfo{
29807				{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
29808			},
29809			outputs: []outputInfo{
29810				{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
29811			},
29812		},
29813	},
29814	{
29815		name:   "FNEG",
29816		argLen: 1,
29817		asm:    ppc64.AFNEG,
29818		reg: regInfo{
29819			inputs: []inputInfo{
29820				{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
29821			},
29822			outputs: []outputInfo{
29823				{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
29824			},
29825		},
29826	},
29827	{
29828		name:   "FSQRT",
29829		argLen: 1,
29830		asm:    ppc64.AFSQRT,
29831		reg: regInfo{
29832			inputs: []inputInfo{
29833				{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
29834			},
29835			outputs: []outputInfo{
29836				{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
29837			},
29838		},
29839	},
29840	{
29841		name:   "FSQRTS",
29842		argLen: 1,
29843		asm:    ppc64.AFSQRTS,
29844		reg: regInfo{
29845			inputs: []inputInfo{
29846				{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
29847			},
29848			outputs: []outputInfo{
29849				{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
29850			},
29851		},
29852	},
29853	{
29854		name:   "FFLOOR",
29855		argLen: 1,
29856		asm:    ppc64.AFRIM,
29857		reg: regInfo{
29858			inputs: []inputInfo{
29859				{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
29860			},
29861			outputs: []outputInfo{
29862				{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
29863			},
29864		},
29865	},
29866	{
29867		name:   "FCEIL",
29868		argLen: 1,
29869		asm:    ppc64.AFRIP,
29870		reg: regInfo{
29871			inputs: []inputInfo{
29872				{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
29873			},
29874			outputs: []outputInfo{
29875				{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
29876			},
29877		},
29878	},
29879	{
29880		name:   "FTRUNC",
29881		argLen: 1,
29882		asm:    ppc64.AFRIZ,
29883		reg: regInfo{
29884			inputs: []inputInfo{
29885				{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
29886			},
29887			outputs: []outputInfo{
29888				{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
29889			},
29890		},
29891	},
29892	{
29893		name:   "FROUND",
29894		argLen: 1,
29895		asm:    ppc64.AFRIN,
29896		reg: regInfo{
29897			inputs: []inputInfo{
29898				{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
29899			},
29900			outputs: []outputInfo{
29901				{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
29902			},
29903		},
29904	},
29905	{
29906		name:   "FABS",
29907		argLen: 1,
29908		asm:    ppc64.AFABS,
29909		reg: regInfo{
29910			inputs: []inputInfo{
29911				{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
29912			},
29913			outputs: []outputInfo{
29914				{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
29915			},
29916		},
29917	},
29918	{
29919		name:   "FNABS",
29920		argLen: 1,
29921		asm:    ppc64.AFNABS,
29922		reg: regInfo{
29923			inputs: []inputInfo{
29924				{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
29925			},
29926			outputs: []outputInfo{
29927				{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
29928			},
29929		},
29930	},
29931	{
29932		name:   "FCPSGN",
29933		argLen: 2,
29934		asm:    ppc64.AFCPSGN,
29935		reg: regInfo{
29936			inputs: []inputInfo{
29937				{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
29938				{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
29939			},
29940			outputs: []outputInfo{
29941				{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
29942			},
29943		},
29944	},
29945	{
29946		name:    "ORconst",
29947		auxType: auxInt64,
29948		argLen:  1,
29949		asm:     ppc64.AOR,
29950		reg: regInfo{
29951			inputs: []inputInfo{
29952				{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
29953			},
29954			outputs: []outputInfo{
29955				{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
29956			},
29957		},
29958	},
29959	{
29960		name:    "XORconst",
29961		auxType: auxInt64,
29962		argLen:  1,
29963		asm:     ppc64.AXOR,
29964		reg: regInfo{
29965			inputs: []inputInfo{
29966				{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
29967			},
29968			outputs: []outputInfo{
29969				{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
29970			},
29971		},
29972	},
29973	{
29974		name:    "ANDCCconst",
29975		auxType: auxInt64,
29976		argLen:  1,
29977		asm:     ppc64.AANDCC,
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:         "ANDconst",
29989		auxType:      auxInt64,
29990		argLen:       1,
29991		clobberFlags: true,
29992		asm:          ppc64.AANDCC,
29993		reg: regInfo{
29994			inputs: []inputInfo{
29995				{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
29996			},
29997			outputs: []outputInfo{
29998				{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
29999			},
30000		},
30001	},
30002	{
30003		name:   "MOVBreg",
30004		argLen: 1,
30005		asm:    ppc64.AMOVB,
30006		reg: regInfo{
30007			inputs: []inputInfo{
30008				{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
30009			},
30010			outputs: []outputInfo{
30011				{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
30012			},
30013		},
30014	},
30015	{
30016		name:   "MOVBZreg",
30017		argLen: 1,
30018		asm:    ppc64.AMOVBZ,
30019		reg: regInfo{
30020			inputs: []inputInfo{
30021				{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
30022			},
30023			outputs: []outputInfo{
30024				{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
30025			},
30026		},
30027	},
30028	{
30029		name:   "MOVHreg",
30030		argLen: 1,
30031		asm:    ppc64.AMOVH,
30032		reg: regInfo{
30033			inputs: []inputInfo{
30034				{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
30035			},
30036			outputs: []outputInfo{
30037				{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
30038			},
30039		},
30040	},
30041	{
30042		name:   "MOVHZreg",
30043		argLen: 1,
30044		asm:    ppc64.AMOVHZ,
30045		reg: regInfo{
30046			inputs: []inputInfo{
30047				{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
30048			},
30049			outputs: []outputInfo{
30050				{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
30051			},
30052		},
30053	},
30054	{
30055		name:   "MOVWreg",
30056		argLen: 1,
30057		asm:    ppc64.AMOVW,
30058		reg: regInfo{
30059			inputs: []inputInfo{
30060				{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
30061			},
30062			outputs: []outputInfo{
30063				{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
30064			},
30065		},
30066	},
30067	{
30068		name:   "MOVWZreg",
30069		argLen: 1,
30070		asm:    ppc64.AMOVWZ,
30071		reg: regInfo{
30072			inputs: []inputInfo{
30073				{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
30074			},
30075			outputs: []outputInfo{
30076				{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
30077			},
30078		},
30079	},
30080	{
30081		name:           "MOVBZload",
30082		auxType:        auxSymOff,
30083		argLen:         2,
30084		faultOnNilArg0: true,
30085		symEffect:      SymRead,
30086		asm:            ppc64.AMOVBZ,
30087		reg: regInfo{
30088			inputs: []inputInfo{
30089				{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
30090			},
30091			outputs: []outputInfo{
30092				{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
30093			},
30094		},
30095	},
30096	{
30097		name:           "MOVHload",
30098		auxType:        auxSymOff,
30099		argLen:         2,
30100		faultOnNilArg0: true,
30101		symEffect:      SymRead,
30102		asm:            ppc64.AMOVH,
30103		reg: regInfo{
30104			inputs: []inputInfo{
30105				{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
30106			},
30107			outputs: []outputInfo{
30108				{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
30109			},
30110		},
30111	},
30112	{
30113		name:           "MOVHZload",
30114		auxType:        auxSymOff,
30115		argLen:         2,
30116		faultOnNilArg0: true,
30117		symEffect:      SymRead,
30118		asm:            ppc64.AMOVHZ,
30119		reg: regInfo{
30120			inputs: []inputInfo{
30121				{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
30122			},
30123			outputs: []outputInfo{
30124				{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
30125			},
30126		},
30127	},
30128	{
30129		name:           "MOVWload",
30130		auxType:        auxSymOff,
30131		argLen:         2,
30132		faultOnNilArg0: true,
30133		symEffect:      SymRead,
30134		asm:            ppc64.AMOVW,
30135		reg: regInfo{
30136			inputs: []inputInfo{
30137				{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
30138			},
30139			outputs: []outputInfo{
30140				{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
30141			},
30142		},
30143	},
30144	{
30145		name:           "MOVWZload",
30146		auxType:        auxSymOff,
30147		argLen:         2,
30148		faultOnNilArg0: true,
30149		symEffect:      SymRead,
30150		asm:            ppc64.AMOVWZ,
30151		reg: regInfo{
30152			inputs: []inputInfo{
30153				{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
30154			},
30155			outputs: []outputInfo{
30156				{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
30157			},
30158		},
30159	},
30160	{
30161		name:           "MOVDload",
30162		auxType:        auxSymOff,
30163		argLen:         2,
30164		faultOnNilArg0: true,
30165		symEffect:      SymRead,
30166		asm:            ppc64.AMOVD,
30167		reg: regInfo{
30168			inputs: []inputInfo{
30169				{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
30170			},
30171			outputs: []outputInfo{
30172				{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
30173			},
30174		},
30175	},
30176	{
30177		name:           "MOVDBRload",
30178		argLen:         2,
30179		faultOnNilArg0: true,
30180		asm:            ppc64.AMOVDBR,
30181		reg: regInfo{
30182			inputs: []inputInfo{
30183				{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
30184			},
30185			outputs: []outputInfo{
30186				{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
30187			},
30188		},
30189	},
30190	{
30191		name:           "MOVWBRload",
30192		argLen:         2,
30193		faultOnNilArg0: true,
30194		asm:            ppc64.AMOVWBR,
30195		reg: regInfo{
30196			inputs: []inputInfo{
30197				{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
30198			},
30199			outputs: []outputInfo{
30200				{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
30201			},
30202		},
30203	},
30204	{
30205		name:           "MOVHBRload",
30206		argLen:         2,
30207		faultOnNilArg0: true,
30208		asm:            ppc64.AMOVHBR,
30209		reg: regInfo{
30210			inputs: []inputInfo{
30211				{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
30212			},
30213			outputs: []outputInfo{
30214				{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
30215			},
30216		},
30217	},
30218	{
30219		name:   "MOVBZloadidx",
30220		argLen: 3,
30221		asm:    ppc64.AMOVBZ,
30222		reg: regInfo{
30223			inputs: []inputInfo{
30224				{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
30225				{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
30226			},
30227			outputs: []outputInfo{
30228				{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
30229			},
30230		},
30231	},
30232	{
30233		name:   "MOVHloadidx",
30234		argLen: 3,
30235		asm:    ppc64.AMOVH,
30236		reg: regInfo{
30237			inputs: []inputInfo{
30238				{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
30239				{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
30240			},
30241			outputs: []outputInfo{
30242				{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
30243			},
30244		},
30245	},
30246	{
30247		name:   "MOVHZloadidx",
30248		argLen: 3,
30249		asm:    ppc64.AMOVHZ,
30250		reg: regInfo{
30251			inputs: []inputInfo{
30252				{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
30253				{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
30254			},
30255			outputs: []outputInfo{
30256				{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
30257			},
30258		},
30259	},
30260	{
30261		name:   "MOVWloadidx",
30262		argLen: 3,
30263		asm:    ppc64.AMOVW,
30264		reg: regInfo{
30265			inputs: []inputInfo{
30266				{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
30267				{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
30268			},
30269			outputs: []outputInfo{
30270				{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
30271			},
30272		},
30273	},
30274	{
30275		name:   "MOVWZloadidx",
30276		argLen: 3,
30277		asm:    ppc64.AMOVWZ,
30278		reg: regInfo{
30279			inputs: []inputInfo{
30280				{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
30281				{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
30282			},
30283			outputs: []outputInfo{
30284				{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
30285			},
30286		},
30287	},
30288	{
30289		name:   "MOVDloadidx",
30290		argLen: 3,
30291		asm:    ppc64.AMOVD,
30292		reg: regInfo{
30293			inputs: []inputInfo{
30294				{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
30295				{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
30296			},
30297			outputs: []outputInfo{
30298				{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
30299			},
30300		},
30301	},
30302	{
30303		name:   "MOVHBRloadidx",
30304		argLen: 3,
30305		asm:    ppc64.AMOVHBR,
30306		reg: regInfo{
30307			inputs: []inputInfo{
30308				{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
30309				{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
30310			},
30311			outputs: []outputInfo{
30312				{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
30313			},
30314		},
30315	},
30316	{
30317		name:   "MOVWBRloadidx",
30318		argLen: 3,
30319		asm:    ppc64.AMOVWBR,
30320		reg: regInfo{
30321			inputs: []inputInfo{
30322				{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
30323				{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
30324			},
30325			outputs: []outputInfo{
30326				{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
30327			},
30328		},
30329	},
30330	{
30331		name:   "MOVDBRloadidx",
30332		argLen: 3,
30333		asm:    ppc64.AMOVDBR,
30334		reg: regInfo{
30335			inputs: []inputInfo{
30336				{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
30337				{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
30338			},
30339			outputs: []outputInfo{
30340				{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
30341			},
30342		},
30343	},
30344	{
30345		name:   "FMOVDloadidx",
30346		argLen: 3,
30347		asm:    ppc64.AFMOVD,
30348		reg: regInfo{
30349			inputs: []inputInfo{
30350				{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
30351				{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
30352			},
30353			outputs: []outputInfo{
30354				{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
30355			},
30356		},
30357	},
30358	{
30359		name:   "FMOVSloadidx",
30360		argLen: 3,
30361		asm:    ppc64.AFMOVS,
30362		reg: regInfo{
30363			inputs: []inputInfo{
30364				{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
30365				{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
30366			},
30367			outputs: []outputInfo{
30368				{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
30369			},
30370		},
30371	},
30372	{
30373		name:           "DCBT",
30374		auxType:        auxInt64,
30375		argLen:         2,
30376		hasSideEffects: true,
30377		asm:            ppc64.ADCBT,
30378		reg: regInfo{
30379			inputs: []inputInfo{
30380				{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
30381			},
30382		},
30383	},
30384	{
30385		name:           "MOVDBRstore",
30386		argLen:         3,
30387		faultOnNilArg0: true,
30388		asm:            ppc64.AMOVDBR,
30389		reg: regInfo{
30390			inputs: []inputInfo{
30391				{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
30392				{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
30393			},
30394		},
30395	},
30396	{
30397		name:           "MOVWBRstore",
30398		argLen:         3,
30399		faultOnNilArg0: true,
30400		asm:            ppc64.AMOVWBR,
30401		reg: regInfo{
30402			inputs: []inputInfo{
30403				{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
30404				{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
30405			},
30406		},
30407	},
30408	{
30409		name:           "MOVHBRstore",
30410		argLen:         3,
30411		faultOnNilArg0: true,
30412		asm:            ppc64.AMOVHBR,
30413		reg: regInfo{
30414			inputs: []inputInfo{
30415				{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
30416				{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
30417			},
30418		},
30419	},
30420	{
30421		name:           "FMOVDload",
30422		auxType:        auxSymOff,
30423		argLen:         2,
30424		faultOnNilArg0: true,
30425		symEffect:      SymRead,
30426		asm:            ppc64.AFMOVD,
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			},
30431			outputs: []outputInfo{
30432				{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
30433			},
30434		},
30435	},
30436	{
30437		name:           "FMOVSload",
30438		auxType:        auxSymOff,
30439		argLen:         2,
30440		faultOnNilArg0: true,
30441		symEffect:      SymRead,
30442		asm:            ppc64.AFMOVS,
30443		reg: regInfo{
30444			inputs: []inputInfo{
30445				{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
30446			},
30447			outputs: []outputInfo{
30448				{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
30449			},
30450		},
30451	},
30452	{
30453		name:           "MOVBstore",
30454		auxType:        auxSymOff,
30455		argLen:         3,
30456		faultOnNilArg0: true,
30457		symEffect:      SymWrite,
30458		asm:            ppc64.AMOVB,
30459		reg: regInfo{
30460			inputs: []inputInfo{
30461				{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
30462				{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
30463			},
30464		},
30465	},
30466	{
30467		name:           "MOVHstore",
30468		auxType:        auxSymOff,
30469		argLen:         3,
30470		faultOnNilArg0: true,
30471		symEffect:      SymWrite,
30472		asm:            ppc64.AMOVH,
30473		reg: regInfo{
30474			inputs: []inputInfo{
30475				{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
30476				{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
30477			},
30478		},
30479	},
30480	{
30481		name:           "MOVWstore",
30482		auxType:        auxSymOff,
30483		argLen:         3,
30484		faultOnNilArg0: true,
30485		symEffect:      SymWrite,
30486		asm:            ppc64.AMOVW,
30487		reg: regInfo{
30488			inputs: []inputInfo{
30489				{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
30490				{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
30491			},
30492		},
30493	},
30494	{
30495		name:           "MOVDstore",
30496		auxType:        auxSymOff,
30497		argLen:         3,
30498		faultOnNilArg0: true,
30499		symEffect:      SymWrite,
30500		asm:            ppc64.AMOVD,
30501		reg: regInfo{
30502			inputs: []inputInfo{
30503				{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
30504				{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
30505			},
30506		},
30507	},
30508	{
30509		name:           "FMOVDstore",
30510		auxType:        auxSymOff,
30511		argLen:         3,
30512		faultOnNilArg0: true,
30513		symEffect:      SymWrite,
30514		asm:            ppc64.AFMOVD,
30515		reg: regInfo{
30516			inputs: []inputInfo{
30517				{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
30518				{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
30519			},
30520		},
30521	},
30522	{
30523		name:           "FMOVSstore",
30524		auxType:        auxSymOff,
30525		argLen:         3,
30526		faultOnNilArg0: true,
30527		symEffect:      SymWrite,
30528		asm:            ppc64.AFMOVS,
30529		reg: regInfo{
30530			inputs: []inputInfo{
30531				{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
30532				{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
30533			},
30534		},
30535	},
30536	{
30537		name:   "MOVBstoreidx",
30538		argLen: 4,
30539		asm:    ppc64.AMOVB,
30540		reg: regInfo{
30541			inputs: []inputInfo{
30542				{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
30543				{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
30544				{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
30545			},
30546		},
30547	},
30548	{
30549		name:   "MOVHstoreidx",
30550		argLen: 4,
30551		asm:    ppc64.AMOVH,
30552		reg: regInfo{
30553			inputs: []inputInfo{
30554				{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
30555				{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
30556				{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
30557			},
30558		},
30559	},
30560	{
30561		name:   "MOVWstoreidx",
30562		argLen: 4,
30563		asm:    ppc64.AMOVW,
30564		reg: regInfo{
30565			inputs: []inputInfo{
30566				{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
30567				{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
30568				{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
30569			},
30570		},
30571	},
30572	{
30573		name:   "MOVDstoreidx",
30574		argLen: 4,
30575		asm:    ppc64.AMOVD,
30576		reg: regInfo{
30577			inputs: []inputInfo{
30578				{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
30579				{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
30580				{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
30581			},
30582		},
30583	},
30584	{
30585		name:   "FMOVDstoreidx",
30586		argLen: 4,
30587		asm:    ppc64.AFMOVD,
30588		reg: regInfo{
30589			inputs: []inputInfo{
30590				{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
30591				{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
30592				{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
30593			},
30594		},
30595	},
30596	{
30597		name:   "FMOVSstoreidx",
30598		argLen: 4,
30599		asm:    ppc64.AFMOVS,
30600		reg: regInfo{
30601			inputs: []inputInfo{
30602				{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
30603				{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
30604				{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
30605			},
30606		},
30607	},
30608	{
30609		name:   "MOVHBRstoreidx",
30610		argLen: 4,
30611		asm:    ppc64.AMOVHBR,
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				{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
30617			},
30618		},
30619	},
30620	{
30621		name:   "MOVWBRstoreidx",
30622		argLen: 4,
30623		asm:    ppc64.AMOVWBR,
30624		reg: regInfo{
30625			inputs: []inputInfo{
30626				{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
30627				{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
30628				{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
30629			},
30630		},
30631	},
30632	{
30633		name:   "MOVDBRstoreidx",
30634		argLen: 4,
30635		asm:    ppc64.AMOVDBR,
30636		reg: regInfo{
30637			inputs: []inputInfo{
30638				{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
30639				{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
30640				{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
30641			},
30642		},
30643	},
30644	{
30645		name:           "MOVBstorezero",
30646		auxType:        auxSymOff,
30647		argLen:         2,
30648		faultOnNilArg0: true,
30649		symEffect:      SymWrite,
30650		asm:            ppc64.AMOVB,
30651		reg: regInfo{
30652			inputs: []inputInfo{
30653				{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
30654			},
30655		},
30656	},
30657	{
30658		name:           "MOVHstorezero",
30659		auxType:        auxSymOff,
30660		argLen:         2,
30661		faultOnNilArg0: true,
30662		symEffect:      SymWrite,
30663		asm:            ppc64.AMOVH,
30664		reg: regInfo{
30665			inputs: []inputInfo{
30666				{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
30667			},
30668		},
30669	},
30670	{
30671		name:           "MOVWstorezero",
30672		auxType:        auxSymOff,
30673		argLen:         2,
30674		faultOnNilArg0: true,
30675		symEffect:      SymWrite,
30676		asm:            ppc64.AMOVW,
30677		reg: regInfo{
30678			inputs: []inputInfo{
30679				{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
30680			},
30681		},
30682	},
30683	{
30684		name:           "MOVDstorezero",
30685		auxType:        auxSymOff,
30686		argLen:         2,
30687		faultOnNilArg0: true,
30688		symEffect:      SymWrite,
30689		asm:            ppc64.AMOVD,
30690		reg: regInfo{
30691			inputs: []inputInfo{
30692				{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
30693			},
30694		},
30695	},
30696	{
30697		name:              "MOVDaddr",
30698		auxType:           auxSymOff,
30699		argLen:            1,
30700		rematerializeable: true,
30701		symEffect:         SymAddr,
30702		asm:               ppc64.AMOVD,
30703		reg: regInfo{
30704			inputs: []inputInfo{
30705				{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
30706			},
30707			outputs: []outputInfo{
30708				{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
30709			},
30710		},
30711	},
30712	{
30713		name:              "MOVDconst",
30714		auxType:           auxInt64,
30715		argLen:            0,
30716		rematerializeable: true,
30717		asm:               ppc64.AMOVD,
30718		reg: regInfo{
30719			outputs: []outputInfo{
30720				{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
30721			},
30722		},
30723	},
30724	{
30725		name:              "FMOVDconst",
30726		auxType:           auxFloat64,
30727		argLen:            0,
30728		rematerializeable: true,
30729		asm:               ppc64.AFMOVD,
30730		reg: regInfo{
30731			outputs: []outputInfo{
30732				{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
30733			},
30734		},
30735	},
30736	{
30737		name:              "FMOVSconst",
30738		auxType:           auxFloat32,
30739		argLen:            0,
30740		rematerializeable: true,
30741		asm:               ppc64.AFMOVS,
30742		reg: regInfo{
30743			outputs: []outputInfo{
30744				{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
30745			},
30746		},
30747	},
30748	{
30749		name:   "FCMPU",
30750		argLen: 2,
30751		asm:    ppc64.AFCMPU,
30752		reg: regInfo{
30753			inputs: []inputInfo{
30754				{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
30755				{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
30756			},
30757		},
30758	},
30759	{
30760		name:   "CMP",
30761		argLen: 2,
30762		asm:    ppc64.ACMP,
30763		reg: regInfo{
30764			inputs: []inputInfo{
30765				{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
30766				{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
30767			},
30768		},
30769	},
30770	{
30771		name:   "CMPU",
30772		argLen: 2,
30773		asm:    ppc64.ACMPU,
30774		reg: regInfo{
30775			inputs: []inputInfo{
30776				{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
30777				{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
30778			},
30779		},
30780	},
30781	{
30782		name:   "CMPW",
30783		argLen: 2,
30784		asm:    ppc64.ACMPW,
30785		reg: regInfo{
30786			inputs: []inputInfo{
30787				{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
30788				{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
30789			},
30790		},
30791	},
30792	{
30793		name:   "CMPWU",
30794		argLen: 2,
30795		asm:    ppc64.ACMPWU,
30796		reg: regInfo{
30797			inputs: []inputInfo{
30798				{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
30799				{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
30800			},
30801		},
30802	},
30803	{
30804		name:    "CMPconst",
30805		auxType: auxInt64,
30806		argLen:  1,
30807		asm:     ppc64.ACMP,
30808		reg: regInfo{
30809			inputs: []inputInfo{
30810				{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
30811			},
30812		},
30813	},
30814	{
30815		name:    "CMPUconst",
30816		auxType: auxInt64,
30817		argLen:  1,
30818		asm:     ppc64.ACMPU,
30819		reg: regInfo{
30820			inputs: []inputInfo{
30821				{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
30822			},
30823		},
30824	},
30825	{
30826		name:    "CMPWconst",
30827		auxType: auxInt32,
30828		argLen:  1,
30829		asm:     ppc64.ACMPW,
30830		reg: regInfo{
30831			inputs: []inputInfo{
30832				{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
30833			},
30834		},
30835	},
30836	{
30837		name:    "CMPWUconst",
30838		auxType: auxInt32,
30839		argLen:  1,
30840		asm:     ppc64.ACMPWU,
30841		reg: regInfo{
30842			inputs: []inputInfo{
30843				{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
30844			},
30845		},
30846	},
30847	{
30848		name:    "ISEL",
30849		auxType: auxInt32,
30850		argLen:  3,
30851		asm:     ppc64.AISEL,
30852		reg: regInfo{
30853			inputs: []inputInfo{
30854				{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
30855				{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
30856			},
30857			outputs: []outputInfo{
30858				{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
30859			},
30860		},
30861	},
30862	{
30863		name:    "ISELZ",
30864		auxType: auxInt32,
30865		argLen:  2,
30866		asm:     ppc64.AISEL,
30867		reg: regInfo{
30868			inputs: []inputInfo{
30869				{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
30870			},
30871			outputs: []outputInfo{
30872				{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
30873			},
30874		},
30875	},
30876	{
30877		name:    "SETBC",
30878		auxType: auxInt32,
30879		argLen:  1,
30880		asm:     ppc64.ASETBC,
30881		reg: regInfo{
30882			outputs: []outputInfo{
30883				{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
30884			},
30885		},
30886	},
30887	{
30888		name:    "SETBCR",
30889		auxType: auxInt32,
30890		argLen:  1,
30891		asm:     ppc64.ASETBCR,
30892		reg: regInfo{
30893			outputs: []outputInfo{
30894				{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
30895			},
30896		},
30897	},
30898	{
30899		name:   "Equal",
30900		argLen: 1,
30901		reg: regInfo{
30902			outputs: []outputInfo{
30903				{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
30904			},
30905		},
30906	},
30907	{
30908		name:   "NotEqual",
30909		argLen: 1,
30910		reg: regInfo{
30911			outputs: []outputInfo{
30912				{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
30913			},
30914		},
30915	},
30916	{
30917		name:   "LessThan",
30918		argLen: 1,
30919		reg: regInfo{
30920			outputs: []outputInfo{
30921				{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
30922			},
30923		},
30924	},
30925	{
30926		name:   "FLessThan",
30927		argLen: 1,
30928		reg: regInfo{
30929			outputs: []outputInfo{
30930				{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
30931			},
30932		},
30933	},
30934	{
30935		name:   "LessEqual",
30936		argLen: 1,
30937		reg: regInfo{
30938			outputs: []outputInfo{
30939				{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
30940			},
30941		},
30942	},
30943	{
30944		name:   "FLessEqual",
30945		argLen: 1,
30946		reg: regInfo{
30947			outputs: []outputInfo{
30948				{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
30949			},
30950		},
30951	},
30952	{
30953		name:   "GreaterThan",
30954		argLen: 1,
30955		reg: regInfo{
30956			outputs: []outputInfo{
30957				{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
30958			},
30959		},
30960	},
30961	{
30962		name:   "FGreaterThan",
30963		argLen: 1,
30964		reg: regInfo{
30965			outputs: []outputInfo{
30966				{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
30967			},
30968		},
30969	},
30970	{
30971		name:   "GreaterEqual",
30972		argLen: 1,
30973		reg: regInfo{
30974			outputs: []outputInfo{
30975				{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
30976			},
30977		},
30978	},
30979	{
30980		name:   "FGreaterEqual",
30981		argLen: 1,
30982		reg: regInfo{
30983			outputs: []outputInfo{
30984				{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
30985			},
30986		},
30987	},
30988	{
30989		name:      "LoweredGetClosurePtr",
30990		argLen:    0,
30991		zeroWidth: true,
30992		reg: regInfo{
30993			outputs: []outputInfo{
30994				{0, 2048}, // R11
30995			},
30996		},
30997	},
30998	{
30999		name:              "LoweredGetCallerSP",
31000		argLen:            1,
31001		rematerializeable: true,
31002		reg: regInfo{
31003			outputs: []outputInfo{
31004				{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
31005			},
31006		},
31007	},
31008	{
31009		name:              "LoweredGetCallerPC",
31010		argLen:            0,
31011		rematerializeable: true,
31012		reg: regInfo{
31013			outputs: []outputInfo{
31014				{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
31015			},
31016		},
31017	},
31018	{
31019		name:           "LoweredNilCheck",
31020		argLen:         2,
31021		clobberFlags:   true,
31022		nilCheck:       true,
31023		faultOnNilArg0: true,
31024		reg: regInfo{
31025			inputs: []inputInfo{
31026				{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
31027			},
31028			clobbers: 2147483648, // R31
31029		},
31030	},
31031	{
31032		name:         "LoweredRound32F",
31033		argLen:       1,
31034		resultInArg0: true,
31035		zeroWidth:    true,
31036		reg: regInfo{
31037			inputs: []inputInfo{
31038				{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
31039			},
31040			outputs: []outputInfo{
31041				{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
31042			},
31043		},
31044	},
31045	{
31046		name:         "LoweredRound64F",
31047		argLen:       1,
31048		resultInArg0: true,
31049		zeroWidth:    true,
31050		reg: regInfo{
31051			inputs: []inputInfo{
31052				{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
31053			},
31054			outputs: []outputInfo{
31055				{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
31056			},
31057		},
31058	},
31059	{
31060		name:         "CALLstatic",
31061		auxType:      auxCallOff,
31062		argLen:       -1,
31063		clobberFlags: true,
31064		call:         true,
31065		reg: regInfo{
31066			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
31067		},
31068	},
31069	{
31070		name:         "CALLtail",
31071		auxType:      auxCallOff,
31072		argLen:       -1,
31073		clobberFlags: true,
31074		call:         true,
31075		tailCall:     true,
31076		reg: regInfo{
31077			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
31078		},
31079	},
31080	{
31081		name:         "CALLclosure",
31082		auxType:      auxCallOff,
31083		argLen:       -1,
31084		clobberFlags: true,
31085		call:         true,
31086		reg: regInfo{
31087			inputs: []inputInfo{
31088				{0, 4096}, // R12
31089				{1, 2048}, // R11
31090			},
31091			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
31092		},
31093	},
31094	{
31095		name:         "CALLinter",
31096		auxType:      auxCallOff,
31097		argLen:       -1,
31098		clobberFlags: true,
31099		call:         true,
31100		reg: regInfo{
31101			inputs: []inputInfo{
31102				{0, 4096}, // R12
31103			},
31104			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
31105		},
31106	},
31107	{
31108		name:           "LoweredZero",
31109		auxType:        auxInt64,
31110		argLen:         2,
31111		clobberFlags:   true,
31112		faultOnNilArg0: true,
31113		unsafePoint:    true,
31114		reg: regInfo{
31115			inputs: []inputInfo{
31116				{0, 1048576}, // R20
31117			},
31118			clobbers: 1048576, // R20
31119		},
31120	},
31121	{
31122		name:           "LoweredZeroShort",
31123		auxType:        auxInt64,
31124		argLen:         2,
31125		faultOnNilArg0: true,
31126		unsafePoint:    true,
31127		reg: regInfo{
31128			inputs: []inputInfo{
31129				{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
31130			},
31131		},
31132	},
31133	{
31134		name:           "LoweredQuadZeroShort",
31135		auxType:        auxInt64,
31136		argLen:         2,
31137		faultOnNilArg0: true,
31138		unsafePoint:    true,
31139		reg: regInfo{
31140			inputs: []inputInfo{
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:           "LoweredQuadZero",
31147		auxType:        auxInt64,
31148		argLen:         2,
31149		clobberFlags:   true,
31150		faultOnNilArg0: true,
31151		unsafePoint:    true,
31152		reg: regInfo{
31153			inputs: []inputInfo{
31154				{0, 1048576}, // R20
31155			},
31156			clobbers: 1048576, // R20
31157		},
31158	},
31159	{
31160		name:           "LoweredMove",
31161		auxType:        auxInt64,
31162		argLen:         3,
31163		clobberFlags:   true,
31164		faultOnNilArg0: true,
31165		faultOnNilArg1: true,
31166		unsafePoint:    true,
31167		reg: regInfo{
31168			inputs: []inputInfo{
31169				{0, 1048576}, // R20
31170				{1, 2097152}, // R21
31171			},
31172			clobbers: 3145728, // R20 R21
31173		},
31174	},
31175	{
31176		name:           "LoweredMoveShort",
31177		auxType:        auxInt64,
31178		argLen:         3,
31179		faultOnNilArg0: true,
31180		faultOnNilArg1: true,
31181		unsafePoint:    true,
31182		reg: regInfo{
31183			inputs: []inputInfo{
31184				{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
31185				{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
31186			},
31187		},
31188	},
31189	{
31190		name:           "LoweredQuadMove",
31191		auxType:        auxInt64,
31192		argLen:         3,
31193		clobberFlags:   true,
31194		faultOnNilArg0: true,
31195		faultOnNilArg1: true,
31196		unsafePoint:    true,
31197		reg: regInfo{
31198			inputs: []inputInfo{
31199				{0, 1048576}, // R20
31200				{1, 2097152}, // R21
31201			},
31202			clobbers: 3145728, // R20 R21
31203		},
31204	},
31205	{
31206		name:           "LoweredQuadMoveShort",
31207		auxType:        auxInt64,
31208		argLen:         3,
31209		faultOnNilArg0: true,
31210		faultOnNilArg1: true,
31211		unsafePoint:    true,
31212		reg: regInfo{
31213			inputs: []inputInfo{
31214				{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
31215				{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
31216			},
31217		},
31218	},
31219	{
31220		name:           "LoweredAtomicStore8",
31221		auxType:        auxInt64,
31222		argLen:         3,
31223		faultOnNilArg0: true,
31224		hasSideEffects: true,
31225		reg: regInfo{
31226			inputs: []inputInfo{
31227				{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
31228				{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
31229			},
31230		},
31231	},
31232	{
31233		name:           "LoweredAtomicStore32",
31234		auxType:        auxInt64,
31235		argLen:         3,
31236		faultOnNilArg0: true,
31237		hasSideEffects: true,
31238		reg: regInfo{
31239			inputs: []inputInfo{
31240				{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
31241				{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
31242			},
31243		},
31244	},
31245	{
31246		name:           "LoweredAtomicStore64",
31247		auxType:        auxInt64,
31248		argLen:         3,
31249		faultOnNilArg0: true,
31250		hasSideEffects: true,
31251		reg: regInfo{
31252			inputs: []inputInfo{
31253				{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
31254				{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
31255			},
31256		},
31257	},
31258	{
31259		name:           "LoweredAtomicLoad8",
31260		auxType:        auxInt64,
31261		argLen:         2,
31262		clobberFlags:   true,
31263		faultOnNilArg0: true,
31264		reg: regInfo{
31265			inputs: []inputInfo{
31266				{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
31267			},
31268			outputs: []outputInfo{
31269				{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
31270			},
31271		},
31272	},
31273	{
31274		name:           "LoweredAtomicLoad32",
31275		auxType:        auxInt64,
31276		argLen:         2,
31277		clobberFlags:   true,
31278		faultOnNilArg0: true,
31279		reg: regInfo{
31280			inputs: []inputInfo{
31281				{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
31282			},
31283			outputs: []outputInfo{
31284				{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
31285			},
31286		},
31287	},
31288	{
31289		name:           "LoweredAtomicLoad64",
31290		auxType:        auxInt64,
31291		argLen:         2,
31292		clobberFlags:   true,
31293		faultOnNilArg0: true,
31294		reg: regInfo{
31295			inputs: []inputInfo{
31296				{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
31297			},
31298			outputs: []outputInfo{
31299				{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
31300			},
31301		},
31302	},
31303	{
31304		name:           "LoweredAtomicLoadPtr",
31305		auxType:        auxInt64,
31306		argLen:         2,
31307		clobberFlags:   true,
31308		faultOnNilArg0: true,
31309		reg: regInfo{
31310			inputs: []inputInfo{
31311				{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
31312			},
31313			outputs: []outputInfo{
31314				{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
31315			},
31316		},
31317	},
31318	{
31319		name:            "LoweredAtomicAdd32",
31320		argLen:          3,
31321		resultNotInArgs: true,
31322		clobberFlags:    true,
31323		faultOnNilArg0:  true,
31324		hasSideEffects:  true,
31325		reg: regInfo{
31326			inputs: []inputInfo{
31327				{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
31328				{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
31329			},
31330			outputs: []outputInfo{
31331				{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
31332			},
31333		},
31334	},
31335	{
31336		name:            "LoweredAtomicAdd64",
31337		argLen:          3,
31338		resultNotInArgs: true,
31339		clobberFlags:    true,
31340		faultOnNilArg0:  true,
31341		hasSideEffects:  true,
31342		reg: regInfo{
31343			inputs: []inputInfo{
31344				{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
31345				{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
31346			},
31347			outputs: []outputInfo{
31348				{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
31349			},
31350		},
31351	},
31352	{
31353		name:            "LoweredAtomicExchange32",
31354		argLen:          3,
31355		resultNotInArgs: true,
31356		clobberFlags:    true,
31357		faultOnNilArg0:  true,
31358		hasSideEffects:  true,
31359		reg: regInfo{
31360			inputs: []inputInfo{
31361				{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
31362				{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
31363			},
31364			outputs: []outputInfo{
31365				{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
31366			},
31367		},
31368	},
31369	{
31370		name:            "LoweredAtomicExchange64",
31371		argLen:          3,
31372		resultNotInArgs: true,
31373		clobberFlags:    true,
31374		faultOnNilArg0:  true,
31375		hasSideEffects:  true,
31376		reg: regInfo{
31377			inputs: []inputInfo{
31378				{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
31379				{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
31380			},
31381			outputs: []outputInfo{
31382				{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
31383			},
31384		},
31385	},
31386	{
31387		name:            "LoweredAtomicCas64",
31388		auxType:         auxInt64,
31389		argLen:          4,
31390		resultNotInArgs: true,
31391		clobberFlags:    true,
31392		faultOnNilArg0:  true,
31393		hasSideEffects:  true,
31394		reg: regInfo{
31395			inputs: []inputInfo{
31396				{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
31397				{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
31398				{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
31399			},
31400			outputs: []outputInfo{
31401				{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
31402			},
31403		},
31404	},
31405	{
31406		name:            "LoweredAtomicCas32",
31407		auxType:         auxInt64,
31408		argLen:          4,
31409		resultNotInArgs: true,
31410		clobberFlags:    true,
31411		faultOnNilArg0:  true,
31412		hasSideEffects:  true,
31413		reg: regInfo{
31414			inputs: []inputInfo{
31415				{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
31416				{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
31417				{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
31418			},
31419			outputs: []outputInfo{
31420				{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
31421			},
31422		},
31423	},
31424	{
31425		name:           "LoweredAtomicAnd8",
31426		argLen:         3,
31427		faultOnNilArg0: true,
31428		hasSideEffects: true,
31429		asm:            ppc64.AAND,
31430		reg: regInfo{
31431			inputs: []inputInfo{
31432				{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
31433				{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
31434			},
31435		},
31436	},
31437	{
31438		name:           "LoweredAtomicAnd32",
31439		argLen:         3,
31440		faultOnNilArg0: true,
31441		hasSideEffects: true,
31442		asm:            ppc64.AAND,
31443		reg: regInfo{
31444			inputs: []inputInfo{
31445				{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
31446				{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
31447			},
31448		},
31449	},
31450	{
31451		name:           "LoweredAtomicOr8",
31452		argLen:         3,
31453		faultOnNilArg0: true,
31454		hasSideEffects: true,
31455		asm:            ppc64.AOR,
31456		reg: regInfo{
31457			inputs: []inputInfo{
31458				{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
31459				{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
31460			},
31461		},
31462	},
31463	{
31464		name:           "LoweredAtomicOr32",
31465		argLen:         3,
31466		faultOnNilArg0: true,
31467		hasSideEffects: true,
31468		asm:            ppc64.AOR,
31469		reg: regInfo{
31470			inputs: []inputInfo{
31471				{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
31472				{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
31473			},
31474		},
31475	},
31476	{
31477		name:         "LoweredWB",
31478		auxType:      auxInt64,
31479		argLen:       1,
31480		clobberFlags: true,
31481		reg: regInfo{
31482			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
31483			outputs: []outputInfo{
31484				{0, 536870912}, // R29
31485			},
31486		},
31487	},
31488	{
31489		name:           "LoweredPubBarrier",
31490		argLen:         1,
31491		hasSideEffects: true,
31492		asm:            ppc64.ALWSYNC,
31493		reg:            regInfo{},
31494	},
31495	{
31496		name:    "LoweredPanicBoundsA",
31497		auxType: auxInt64,
31498		argLen:  3,
31499		call:    true,
31500		reg: regInfo{
31501			inputs: []inputInfo{
31502				{0, 32}, // R5
31503				{1, 64}, // R6
31504			},
31505		},
31506	},
31507	{
31508		name:    "LoweredPanicBoundsB",
31509		auxType: auxInt64,
31510		argLen:  3,
31511		call:    true,
31512		reg: regInfo{
31513			inputs: []inputInfo{
31514				{0, 16}, // R4
31515				{1, 32}, // R5
31516			},
31517		},
31518	},
31519	{
31520		name:    "LoweredPanicBoundsC",
31521		auxType: auxInt64,
31522		argLen:  3,
31523		call:    true,
31524		reg: regInfo{
31525			inputs: []inputInfo{
31526				{0, 8},  // R3
31527				{1, 16}, // R4
31528			},
31529		},
31530	},
31531	{
31532		name:   "InvertFlags",
31533		argLen: 1,
31534		reg:    regInfo{},
31535	},
31536	{
31537		name:   "FlagEQ",
31538		argLen: 0,
31539		reg:    regInfo{},
31540	},
31541	{
31542		name:   "FlagLT",
31543		argLen: 0,
31544		reg:    regInfo{},
31545	},
31546	{
31547		name:   "FlagGT",
31548		argLen: 0,
31549		reg:    regInfo{},
31550	},
31551
31552	{
31553		name:        "ADD",
31554		argLen:      2,
31555		commutative: true,
31556		asm:         riscv.AADD,
31557		reg: regInfo{
31558			inputs: []inputInfo{
31559				{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
31560				{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
31561			},
31562			outputs: []outputInfo{
31563				{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
31564			},
31565		},
31566	},
31567	{
31568		name:    "ADDI",
31569		auxType: auxInt64,
31570		argLen:  1,
31571		asm:     riscv.AADDI,
31572		reg: regInfo{
31573			inputs: []inputInfo{
31574				{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
31575			},
31576			outputs: []outputInfo{
31577				{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
31578			},
31579		},
31580	},
31581	{
31582		name:    "ADDIW",
31583		auxType: auxInt64,
31584		argLen:  1,
31585		asm:     riscv.AADDIW,
31586		reg: regInfo{
31587			inputs: []inputInfo{
31588				{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
31589			},
31590			outputs: []outputInfo{
31591				{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
31592			},
31593		},
31594	},
31595	{
31596		name:   "NEG",
31597		argLen: 1,
31598		asm:    riscv.ANEG,
31599		reg: regInfo{
31600			inputs: []inputInfo{
31601				{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
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:   "NEGW",
31610		argLen: 1,
31611		asm:    riscv.ANEGW,
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			},
31616			outputs: []outputInfo{
31617				{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
31618			},
31619		},
31620	},
31621	{
31622		name:   "SUB",
31623		argLen: 2,
31624		asm:    riscv.ASUB,
31625		reg: regInfo{
31626			inputs: []inputInfo{
31627				{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
31628				{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
31629			},
31630			outputs: []outputInfo{
31631				{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
31632			},
31633		},
31634	},
31635	{
31636		name:   "SUBW",
31637		argLen: 2,
31638		asm:    riscv.ASUBW,
31639		reg: regInfo{
31640			inputs: []inputInfo{
31641				{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
31642				{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
31643			},
31644			outputs: []outputInfo{
31645				{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
31646			},
31647		},
31648	},
31649	{
31650		name:        "MUL",
31651		argLen:      2,
31652		commutative: true,
31653		asm:         riscv.AMUL,
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:        "MULW",
31666		argLen:      2,
31667		commutative: true,
31668		asm:         riscv.AMULW,
31669		reg: regInfo{
31670			inputs: []inputInfo{
31671				{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
31672				{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
31673			},
31674			outputs: []outputInfo{
31675				{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
31676			},
31677		},
31678	},
31679	{
31680		name:        "MULH",
31681		argLen:      2,
31682		commutative: true,
31683		asm:         riscv.AMULH,
31684		reg: regInfo{
31685			inputs: []inputInfo{
31686				{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
31687				{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
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:        "MULHU",
31696		argLen:      2,
31697		commutative: true,
31698		asm:         riscv.AMULHU,
31699		reg: regInfo{
31700			inputs: []inputInfo{
31701				{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
31702				{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
31703			},
31704			outputs: []outputInfo{
31705				{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
31706			},
31707		},
31708	},
31709	{
31710		name:            "LoweredMuluhilo",
31711		argLen:          2,
31712		resultNotInArgs: true,
31713		reg: regInfo{
31714			inputs: []inputInfo{
31715				{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
31716				{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
31717			},
31718			outputs: []outputInfo{
31719				{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
31720				{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
31721			},
31722		},
31723	},
31724	{
31725		name:            "LoweredMuluover",
31726		argLen:          2,
31727		resultNotInArgs: true,
31728		reg: regInfo{
31729			inputs: []inputInfo{
31730				{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
31731				{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
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				{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
31736			},
31737		},
31738	},
31739	{
31740		name:   "DIV",
31741		argLen: 2,
31742		asm:    riscv.ADIV,
31743		reg: regInfo{
31744			inputs: []inputInfo{
31745				{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
31746				{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
31747			},
31748			outputs: []outputInfo{
31749				{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
31750			},
31751		},
31752	},
31753	{
31754		name:   "DIVU",
31755		argLen: 2,
31756		asm:    riscv.ADIVU,
31757		reg: regInfo{
31758			inputs: []inputInfo{
31759				{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
31760				{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
31761			},
31762			outputs: []outputInfo{
31763				{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
31764			},
31765		},
31766	},
31767	{
31768		name:   "DIVW",
31769		argLen: 2,
31770		asm:    riscv.ADIVW,
31771		reg: regInfo{
31772			inputs: []inputInfo{
31773				{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
31774				{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
31775			},
31776			outputs: []outputInfo{
31777				{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
31778			},
31779		},
31780	},
31781	{
31782		name:   "DIVUW",
31783		argLen: 2,
31784		asm:    riscv.ADIVUW,
31785		reg: regInfo{
31786			inputs: []inputInfo{
31787				{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
31788				{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
31789			},
31790			outputs: []outputInfo{
31791				{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
31792			},
31793		},
31794	},
31795	{
31796		name:   "REM",
31797		argLen: 2,
31798		asm:    riscv.AREM,
31799		reg: regInfo{
31800			inputs: []inputInfo{
31801				{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
31802				{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
31803			},
31804			outputs: []outputInfo{
31805				{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
31806			},
31807		},
31808	},
31809	{
31810		name:   "REMU",
31811		argLen: 2,
31812		asm:    riscv.AREMU,
31813		reg: regInfo{
31814			inputs: []inputInfo{
31815				{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
31816				{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
31817			},
31818			outputs: []outputInfo{
31819				{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
31820			},
31821		},
31822	},
31823	{
31824		name:   "REMW",
31825		argLen: 2,
31826		asm:    riscv.AREMW,
31827		reg: regInfo{
31828			inputs: []inputInfo{
31829				{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
31830				{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
31831			},
31832			outputs: []outputInfo{
31833				{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
31834			},
31835		},
31836	},
31837	{
31838		name:   "REMUW",
31839		argLen: 2,
31840		asm:    riscv.AREMUW,
31841		reg: regInfo{
31842			inputs: []inputInfo{
31843				{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
31844				{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
31845			},
31846			outputs: []outputInfo{
31847				{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
31848			},
31849		},
31850	},
31851	{
31852		name:              "MOVaddr",
31853		auxType:           auxSymOff,
31854		argLen:            1,
31855		rematerializeable: true,
31856		symEffect:         SymAddr,
31857		asm:               riscv.AMOV,
31858		reg: regInfo{
31859			inputs: []inputInfo{
31860				{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
31861			},
31862			outputs: []outputInfo{
31863				{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
31864			},
31865		},
31866	},
31867	{
31868		name:              "MOVDconst",
31869		auxType:           auxInt64,
31870		argLen:            0,
31871		rematerializeable: true,
31872		asm:               riscv.AMOV,
31873		reg: regInfo{
31874			outputs: []outputInfo{
31875				{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
31876			},
31877		},
31878	},
31879	{
31880		name:           "MOVBload",
31881		auxType:        auxSymOff,
31882		argLen:         2,
31883		faultOnNilArg0: true,
31884		symEffect:      SymRead,
31885		asm:            riscv.AMOVB,
31886		reg: regInfo{
31887			inputs: []inputInfo{
31888				{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
31889			},
31890			outputs: []outputInfo{
31891				{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
31892			},
31893		},
31894	},
31895	{
31896		name:           "MOVHload",
31897		auxType:        auxSymOff,
31898		argLen:         2,
31899		faultOnNilArg0: true,
31900		symEffect:      SymRead,
31901		asm:            riscv.AMOVH,
31902		reg: regInfo{
31903			inputs: []inputInfo{
31904				{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
31905			},
31906			outputs: []outputInfo{
31907				{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
31908			},
31909		},
31910	},
31911	{
31912		name:           "MOVWload",
31913		auxType:        auxSymOff,
31914		argLen:         2,
31915		faultOnNilArg0: true,
31916		symEffect:      SymRead,
31917		asm:            riscv.AMOVW,
31918		reg: regInfo{
31919			inputs: []inputInfo{
31920				{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
31921			},
31922			outputs: []outputInfo{
31923				{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
31924			},
31925		},
31926	},
31927	{
31928		name:           "MOVDload",
31929		auxType:        auxSymOff,
31930		argLen:         2,
31931		faultOnNilArg0: true,
31932		symEffect:      SymRead,
31933		asm:            riscv.AMOV,
31934		reg: regInfo{
31935			inputs: []inputInfo{
31936				{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
31937			},
31938			outputs: []outputInfo{
31939				{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
31940			},
31941		},
31942	},
31943	{
31944		name:           "MOVBUload",
31945		auxType:        auxSymOff,
31946		argLen:         2,
31947		faultOnNilArg0: true,
31948		symEffect:      SymRead,
31949		asm:            riscv.AMOVBU,
31950		reg: regInfo{
31951			inputs: []inputInfo{
31952				{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
31953			},
31954			outputs: []outputInfo{
31955				{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
31956			},
31957		},
31958	},
31959	{
31960		name:           "MOVHUload",
31961		auxType:        auxSymOff,
31962		argLen:         2,
31963		faultOnNilArg0: true,
31964		symEffect:      SymRead,
31965		asm:            riscv.AMOVHU,
31966		reg: regInfo{
31967			inputs: []inputInfo{
31968				{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
31969			},
31970			outputs: []outputInfo{
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		},
31974	},
31975	{
31976		name:           "MOVWUload",
31977		auxType:        auxSymOff,
31978		argLen:         2,
31979		faultOnNilArg0: true,
31980		symEffect:      SymRead,
31981		asm:            riscv.AMOVWU,
31982		reg: regInfo{
31983			inputs: []inputInfo{
31984				{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
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:           "MOVBstore",
31993		auxType:        auxSymOff,
31994		argLen:         3,
31995		faultOnNilArg0: true,
31996		symEffect:      SymWrite,
31997		asm:            riscv.AMOVB,
31998		reg: regInfo{
31999			inputs: []inputInfo{
32000				{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
32001				{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
32002			},
32003		},
32004	},
32005	{
32006		name:           "MOVHstore",
32007		auxType:        auxSymOff,
32008		argLen:         3,
32009		faultOnNilArg0: true,
32010		symEffect:      SymWrite,
32011		asm:            riscv.AMOVH,
32012		reg: regInfo{
32013			inputs: []inputInfo{
32014				{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
32015				{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
32016			},
32017		},
32018	},
32019	{
32020		name:           "MOVWstore",
32021		auxType:        auxSymOff,
32022		argLen:         3,
32023		faultOnNilArg0: true,
32024		symEffect:      SymWrite,
32025		asm:            riscv.AMOVW,
32026		reg: regInfo{
32027			inputs: []inputInfo{
32028				{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
32029				{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
32030			},
32031		},
32032	},
32033	{
32034		name:           "MOVDstore",
32035		auxType:        auxSymOff,
32036		argLen:         3,
32037		faultOnNilArg0: true,
32038		symEffect:      SymWrite,
32039		asm:            riscv.AMOV,
32040		reg: regInfo{
32041			inputs: []inputInfo{
32042				{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
32043				{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
32044			},
32045		},
32046	},
32047	{
32048		name:           "MOVBstorezero",
32049		auxType:        auxSymOff,
32050		argLen:         2,
32051		faultOnNilArg0: true,
32052		symEffect:      SymWrite,
32053		asm:            riscv.AMOVB,
32054		reg: regInfo{
32055			inputs: []inputInfo{
32056				{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
32057			},
32058		},
32059	},
32060	{
32061		name:           "MOVHstorezero",
32062		auxType:        auxSymOff,
32063		argLen:         2,
32064		faultOnNilArg0: true,
32065		symEffect:      SymWrite,
32066		asm:            riscv.AMOVH,
32067		reg: regInfo{
32068			inputs: []inputInfo{
32069				{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
32070			},
32071		},
32072	},
32073	{
32074		name:           "MOVWstorezero",
32075		auxType:        auxSymOff,
32076		argLen:         2,
32077		faultOnNilArg0: true,
32078		symEffect:      SymWrite,
32079		asm:            riscv.AMOVW,
32080		reg: regInfo{
32081			inputs: []inputInfo{
32082				{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
32083			},
32084		},
32085	},
32086	{
32087		name:           "MOVDstorezero",
32088		auxType:        auxSymOff,
32089		argLen:         2,
32090		faultOnNilArg0: true,
32091		symEffect:      SymWrite,
32092		asm:            riscv.AMOV,
32093		reg: regInfo{
32094			inputs: []inputInfo{
32095				{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
32096			},
32097		},
32098	},
32099	{
32100		name:   "MOVBreg",
32101		argLen: 1,
32102		asm:    riscv.AMOVB,
32103		reg: regInfo{
32104			inputs: []inputInfo{
32105				{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
32106			},
32107			outputs: []outputInfo{
32108				{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
32109			},
32110		},
32111	},
32112	{
32113		name:   "MOVHreg",
32114		argLen: 1,
32115		asm:    riscv.AMOVH,
32116		reg: regInfo{
32117			inputs: []inputInfo{
32118				{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
32119			},
32120			outputs: []outputInfo{
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		},
32124	},
32125	{
32126		name:   "MOVWreg",
32127		argLen: 1,
32128		asm:    riscv.AMOVW,
32129		reg: regInfo{
32130			inputs: []inputInfo{
32131				{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
32132			},
32133			outputs: []outputInfo{
32134				{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
32135			},
32136		},
32137	},
32138	{
32139		name:   "MOVDreg",
32140		argLen: 1,
32141		asm:    riscv.AMOV,
32142		reg: regInfo{
32143			inputs: []inputInfo{
32144				{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
32145			},
32146			outputs: []outputInfo{
32147				{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
32148			},
32149		},
32150	},
32151	{
32152		name:   "MOVBUreg",
32153		argLen: 1,
32154		asm:    riscv.AMOVBU,
32155		reg: regInfo{
32156			inputs: []inputInfo{
32157				{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
32158			},
32159			outputs: []outputInfo{
32160				{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
32161			},
32162		},
32163	},
32164	{
32165		name:   "MOVHUreg",
32166		argLen: 1,
32167		asm:    riscv.AMOVHU,
32168		reg: regInfo{
32169			inputs: []inputInfo{
32170				{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
32171			},
32172			outputs: []outputInfo{
32173				{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
32174			},
32175		},
32176	},
32177	{
32178		name:   "MOVWUreg",
32179		argLen: 1,
32180		asm:    riscv.AMOVWU,
32181		reg: regInfo{
32182			inputs: []inputInfo{
32183				{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
32184			},
32185			outputs: []outputInfo{
32186				{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
32187			},
32188		},
32189	},
32190	{
32191		name:         "MOVDnop",
32192		argLen:       1,
32193		resultInArg0: true,
32194		reg: regInfo{
32195			inputs: []inputInfo{
32196				{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
32197			},
32198			outputs: []outputInfo{
32199				{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
32200			},
32201		},
32202	},
32203	{
32204		name:   "SLL",
32205		argLen: 2,
32206		asm:    riscv.ASLL,
32207		reg: regInfo{
32208			inputs: []inputInfo{
32209				{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
32210				{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
32211			},
32212			outputs: []outputInfo{
32213				{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
32214			},
32215		},
32216	},
32217	{
32218		name:   "SLLW",
32219		argLen: 2,
32220		asm:    riscv.ASLLW,
32221		reg: regInfo{
32222			inputs: []inputInfo{
32223				{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
32224				{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
32225			},
32226			outputs: []outputInfo{
32227				{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
32228			},
32229		},
32230	},
32231	{
32232		name:   "SRA",
32233		argLen: 2,
32234		asm:    riscv.ASRA,
32235		reg: regInfo{
32236			inputs: []inputInfo{
32237				{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
32238				{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
32239			},
32240			outputs: []outputInfo{
32241				{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
32242			},
32243		},
32244	},
32245	{
32246		name:   "SRAW",
32247		argLen: 2,
32248		asm:    riscv.ASRAW,
32249		reg: regInfo{
32250			inputs: []inputInfo{
32251				{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
32252				{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
32253			},
32254			outputs: []outputInfo{
32255				{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
32256			},
32257		},
32258	},
32259	{
32260		name:   "SRL",
32261		argLen: 2,
32262		asm:    riscv.ASRL,
32263		reg: regInfo{
32264			inputs: []inputInfo{
32265				{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
32266				{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
32267			},
32268			outputs: []outputInfo{
32269				{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
32270			},
32271		},
32272	},
32273	{
32274		name:   "SRLW",
32275		argLen: 2,
32276		asm:    riscv.ASRLW,
32277		reg: regInfo{
32278			inputs: []inputInfo{
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				{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
32281			},
32282			outputs: []outputInfo{
32283				{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
32284			},
32285		},
32286	},
32287	{
32288		name:    "SLLI",
32289		auxType: auxInt64,
32290		argLen:  1,
32291		asm:     riscv.ASLLI,
32292		reg: regInfo{
32293			inputs: []inputInfo{
32294				{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
32295			},
32296			outputs: []outputInfo{
32297				{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
32298			},
32299		},
32300	},
32301	{
32302		name:    "SLLIW",
32303		auxType: auxInt64,
32304		argLen:  1,
32305		asm:     riscv.ASLLIW,
32306		reg: regInfo{
32307			inputs: []inputInfo{
32308				{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
32309			},
32310			outputs: []outputInfo{
32311				{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
32312			},
32313		},
32314	},
32315	{
32316		name:    "SRAI",
32317		auxType: auxInt64,
32318		argLen:  1,
32319		asm:     riscv.ASRAI,
32320		reg: regInfo{
32321			inputs: []inputInfo{
32322				{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
32323			},
32324			outputs: []outputInfo{
32325				{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
32326			},
32327		},
32328	},
32329	{
32330		name:    "SRAIW",
32331		auxType: auxInt64,
32332		argLen:  1,
32333		asm:     riscv.ASRAIW,
32334		reg: regInfo{
32335			inputs: []inputInfo{
32336				{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
32337			},
32338			outputs: []outputInfo{
32339				{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
32340			},
32341		},
32342	},
32343	{
32344		name:    "SRLI",
32345		auxType: auxInt64,
32346		argLen:  1,
32347		asm:     riscv.ASRLI,
32348		reg: regInfo{
32349			inputs: []inputInfo{
32350				{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
32351			},
32352			outputs: []outputInfo{
32353				{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
32354			},
32355		},
32356	},
32357	{
32358		name:    "SRLIW",
32359		auxType: auxInt64,
32360		argLen:  1,
32361		asm:     riscv.ASRLIW,
32362		reg: regInfo{
32363			inputs: []inputInfo{
32364				{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
32365			},
32366			outputs: []outputInfo{
32367				{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
32368			},
32369		},
32370	},
32371	{
32372		name:        "AND",
32373		argLen:      2,
32374		commutative: true,
32375		asm:         riscv.AAND,
32376		reg: regInfo{
32377			inputs: []inputInfo{
32378				{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
32379				{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
32380			},
32381			outputs: []outputInfo{
32382				{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
32383			},
32384		},
32385	},
32386	{
32387		name:    "ANDI",
32388		auxType: auxInt64,
32389		argLen:  1,
32390		asm:     riscv.AANDI,
32391		reg: regInfo{
32392			inputs: []inputInfo{
32393				{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
32394			},
32395			outputs: []outputInfo{
32396				{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
32397			},
32398		},
32399	},
32400	{
32401		name:   "NOT",
32402		argLen: 1,
32403		asm:    riscv.ANOT,
32404		reg: regInfo{
32405			inputs: []inputInfo{
32406				{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
32407			},
32408			outputs: []outputInfo{
32409				{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
32410			},
32411		},
32412	},
32413	{
32414		name:        "OR",
32415		argLen:      2,
32416		commutative: true,
32417		asm:         riscv.AOR,
32418		reg: regInfo{
32419			inputs: []inputInfo{
32420				{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
32421				{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
32422			},
32423			outputs: []outputInfo{
32424				{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
32425			},
32426		},
32427	},
32428	{
32429		name:    "ORI",
32430		auxType: auxInt64,
32431		argLen:  1,
32432		asm:     riscv.AORI,
32433		reg: regInfo{
32434			inputs: []inputInfo{
32435				{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
32436			},
32437			outputs: []outputInfo{
32438				{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
32439			},
32440		},
32441	},
32442	{
32443		name:   "ROL",
32444		argLen: 2,
32445		asm:    riscv.AROL,
32446		reg: regInfo{
32447			inputs: []inputInfo{
32448				{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
32449				{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
32450			},
32451			outputs: []outputInfo{
32452				{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
32453			},
32454		},
32455	},
32456	{
32457		name:   "ROLW",
32458		argLen: 2,
32459		asm:    riscv.AROLW,
32460		reg: regInfo{
32461			inputs: []inputInfo{
32462				{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
32463				{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
32464			},
32465			outputs: []outputInfo{
32466				{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
32467			},
32468		},
32469	},
32470	{
32471		name:   "ROR",
32472		argLen: 2,
32473		asm:    riscv.AROR,
32474		reg: regInfo{
32475			inputs: []inputInfo{
32476				{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
32477				{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
32478			},
32479			outputs: []outputInfo{
32480				{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
32481			},
32482		},
32483	},
32484	{
32485		name:    "RORI",
32486		auxType: auxInt64,
32487		argLen:  1,
32488		asm:     riscv.ARORI,
32489		reg: regInfo{
32490			inputs: []inputInfo{
32491				{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
32492			},
32493			outputs: []outputInfo{
32494				{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
32495			},
32496		},
32497	},
32498	{
32499		name:    "RORIW",
32500		auxType: auxInt64,
32501		argLen:  1,
32502		asm:     riscv.ARORIW,
32503		reg: regInfo{
32504			inputs: []inputInfo{
32505				{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
32506			},
32507			outputs: []outputInfo{
32508				{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
32509			},
32510		},
32511	},
32512	{
32513		name:   "RORW",
32514		argLen: 2,
32515		asm:    riscv.ARORW,
32516		reg: regInfo{
32517			inputs: []inputInfo{
32518				{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
32519				{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
32520			},
32521			outputs: []outputInfo{
32522				{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
32523			},
32524		},
32525	},
32526	{
32527		name:        "XOR",
32528		argLen:      2,
32529		commutative: true,
32530		asm:         riscv.AXOR,
32531		reg: regInfo{
32532			inputs: []inputInfo{
32533				{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
32534				{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
32535			},
32536			outputs: []outputInfo{
32537				{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
32538			},
32539		},
32540	},
32541	{
32542		name:    "XORI",
32543		auxType: auxInt64,
32544		argLen:  1,
32545		asm:     riscv.AXORI,
32546		reg: regInfo{
32547			inputs: []inputInfo{
32548				{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
32549			},
32550			outputs: []outputInfo{
32551				{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
32552			},
32553		},
32554	},
32555	{
32556		name:   "SEQZ",
32557		argLen: 1,
32558		asm:    riscv.ASEQZ,
32559		reg: regInfo{
32560			inputs: []inputInfo{
32561				{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
32562			},
32563			outputs: []outputInfo{
32564				{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
32565			},
32566		},
32567	},
32568	{
32569		name:   "SNEZ",
32570		argLen: 1,
32571		asm:    riscv.ASNEZ,
32572		reg: regInfo{
32573			inputs: []inputInfo{
32574				{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
32575			},
32576			outputs: []outputInfo{
32577				{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
32578			},
32579		},
32580	},
32581	{
32582		name:   "SLT",
32583		argLen: 2,
32584		asm:    riscv.ASLT,
32585		reg: regInfo{
32586			inputs: []inputInfo{
32587				{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
32588				{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
32589			},
32590			outputs: []outputInfo{
32591				{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
32592			},
32593		},
32594	},
32595	{
32596		name:    "SLTI",
32597		auxType: auxInt64,
32598		argLen:  1,
32599		asm:     riscv.ASLTI,
32600		reg: regInfo{
32601			inputs: []inputInfo{
32602				{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
32603			},
32604			outputs: []outputInfo{
32605				{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
32606			},
32607		},
32608	},
32609	{
32610		name:   "SLTU",
32611		argLen: 2,
32612		asm:    riscv.ASLTU,
32613		reg: regInfo{
32614			inputs: []inputInfo{
32615				{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
32616				{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
32617			},
32618			outputs: []outputInfo{
32619				{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
32620			},
32621		},
32622	},
32623	{
32624		name:    "SLTIU",
32625		auxType: auxInt64,
32626		argLen:  1,
32627		asm:     riscv.ASLTIU,
32628		reg: regInfo{
32629			inputs: []inputInfo{
32630				{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
32631			},
32632			outputs: []outputInfo{
32633				{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
32634			},
32635		},
32636	},
32637	{
32638		name:         "LoweredRound32F",
32639		argLen:       1,
32640		resultInArg0: true,
32641		reg: regInfo{
32642			inputs: []inputInfo{
32643				{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
32644			},
32645			outputs: []outputInfo{
32646				{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
32647			},
32648		},
32649	},
32650	{
32651		name:         "LoweredRound64F",
32652		argLen:       1,
32653		resultInArg0: true,
32654		reg: regInfo{
32655			inputs: []inputInfo{
32656				{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
32657			},
32658			outputs: []outputInfo{
32659				{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
32660			},
32661		},
32662	},
32663	{
32664		name:    "CALLstatic",
32665		auxType: auxCallOff,
32666		argLen:  -1,
32667		call:    true,
32668		reg: regInfo{
32669			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
32670		},
32671	},
32672	{
32673		name:     "CALLtail",
32674		auxType:  auxCallOff,
32675		argLen:   -1,
32676		call:     true,
32677		tailCall: true,
32678		reg: regInfo{
32679			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
32680		},
32681	},
32682	{
32683		name:    "CALLclosure",
32684		auxType: auxCallOff,
32685		argLen:  -1,
32686		call:    true,
32687		reg: regInfo{
32688			inputs: []inputInfo{
32689				{1, 33554432},   // X26
32690				{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
32691			},
32692			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
32693		},
32694	},
32695	{
32696		name:    "CALLinter",
32697		auxType: auxCallOff,
32698		argLen:  -1,
32699		call:    true,
32700		reg: regInfo{
32701			inputs: []inputInfo{
32702				{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
32703			},
32704			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
32705		},
32706	},
32707	{
32708		name:           "DUFFZERO",
32709		auxType:        auxInt64,
32710		argLen:         2,
32711		faultOnNilArg0: true,
32712		reg: regInfo{
32713			inputs: []inputInfo{
32714				{0, 16777216}, // X25
32715			},
32716			clobbers: 16777216, // X25
32717		},
32718	},
32719	{
32720		name:           "DUFFCOPY",
32721		auxType:        auxInt64,
32722		argLen:         3,
32723		faultOnNilArg0: true,
32724		faultOnNilArg1: true,
32725		reg: regInfo{
32726			inputs: []inputInfo{
32727				{0, 16777216}, // X25
32728				{1, 8388608},  // X24
32729			},
32730			clobbers: 25165824, // X24 X25
32731		},
32732	},
32733	{
32734		name:           "LoweredZero",
32735		auxType:        auxInt64,
32736		argLen:         3,
32737		faultOnNilArg0: true,
32738		reg: regInfo{
32739			inputs: []inputInfo{
32740				{0, 16},         // X5
32741				{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
32742			},
32743			clobbers: 16, // X5
32744		},
32745	},
32746	{
32747		name:           "LoweredMove",
32748		auxType:        auxInt64,
32749		argLen:         4,
32750		faultOnNilArg0: true,
32751		faultOnNilArg1: true,
32752		reg: regInfo{
32753			inputs: []inputInfo{
32754				{0, 16},         // X5
32755				{1, 32},         // X6
32756				{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
32757			},
32758			clobbers: 112, // X5 X6 X7
32759		},
32760	},
32761	{
32762		name:           "LoweredAtomicLoad8",
32763		argLen:         2,
32764		faultOnNilArg0: true,
32765		reg: regInfo{
32766			inputs: []inputInfo{
32767				{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
32768			},
32769			outputs: []outputInfo{
32770				{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
32771			},
32772		},
32773	},
32774	{
32775		name:           "LoweredAtomicLoad32",
32776		argLen:         2,
32777		faultOnNilArg0: true,
32778		reg: regInfo{
32779			inputs: []inputInfo{
32780				{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
32781			},
32782			outputs: []outputInfo{
32783				{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
32784			},
32785		},
32786	},
32787	{
32788		name:           "LoweredAtomicLoad64",
32789		argLen:         2,
32790		faultOnNilArg0: true,
32791		reg: regInfo{
32792			inputs: []inputInfo{
32793				{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
32794			},
32795			outputs: []outputInfo{
32796				{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
32797			},
32798		},
32799	},
32800	{
32801		name:           "LoweredAtomicStore8",
32802		argLen:         3,
32803		faultOnNilArg0: true,
32804		hasSideEffects: true,
32805		reg: regInfo{
32806			inputs: []inputInfo{
32807				{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
32808				{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
32809			},
32810		},
32811	},
32812	{
32813		name:           "LoweredAtomicStore32",
32814		argLen:         3,
32815		faultOnNilArg0: true,
32816		hasSideEffects: true,
32817		reg: regInfo{
32818			inputs: []inputInfo{
32819				{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
32820				{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
32821			},
32822		},
32823	},
32824	{
32825		name:           "LoweredAtomicStore64",
32826		argLen:         3,
32827		faultOnNilArg0: true,
32828		hasSideEffects: true,
32829		reg: regInfo{
32830			inputs: []inputInfo{
32831				{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
32832				{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
32833			},
32834		},
32835	},
32836	{
32837		name:            "LoweredAtomicExchange32",
32838		argLen:          3,
32839		resultNotInArgs: true,
32840		faultOnNilArg0:  true,
32841		hasSideEffects:  true,
32842		reg: regInfo{
32843			inputs: []inputInfo{
32844				{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
32845				{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
32846			},
32847			outputs: []outputInfo{
32848				{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
32849			},
32850		},
32851	},
32852	{
32853		name:            "LoweredAtomicExchange64",
32854		argLen:          3,
32855		resultNotInArgs: true,
32856		faultOnNilArg0:  true,
32857		hasSideEffects:  true,
32858		reg: regInfo{
32859			inputs: []inputInfo{
32860				{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
32861				{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
32862			},
32863			outputs: []outputInfo{
32864				{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
32865			},
32866		},
32867	},
32868	{
32869		name:            "LoweredAtomicAdd32",
32870		argLen:          3,
32871		resultNotInArgs: true,
32872		faultOnNilArg0:  true,
32873		hasSideEffects:  true,
32874		unsafePoint:     true,
32875		reg: regInfo{
32876			inputs: []inputInfo{
32877				{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
32878				{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
32879			},
32880			outputs: []outputInfo{
32881				{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
32882			},
32883		},
32884	},
32885	{
32886		name:            "LoweredAtomicAdd64",
32887		argLen:          3,
32888		resultNotInArgs: true,
32889		faultOnNilArg0:  true,
32890		hasSideEffects:  true,
32891		unsafePoint:     true,
32892		reg: regInfo{
32893			inputs: []inputInfo{
32894				{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
32895				{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
32896			},
32897			outputs: []outputInfo{
32898				{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
32899			},
32900		},
32901	},
32902	{
32903		name:            "LoweredAtomicCas32",
32904		argLen:          4,
32905		resultNotInArgs: true,
32906		faultOnNilArg0:  true,
32907		hasSideEffects:  true,
32908		unsafePoint:     true,
32909		reg: regInfo{
32910			inputs: []inputInfo{
32911				{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
32912				{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
32913				{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
32914			},
32915			outputs: []outputInfo{
32916				{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
32917			},
32918		},
32919	},
32920	{
32921		name:            "LoweredAtomicCas64",
32922		argLen:          4,
32923		resultNotInArgs: true,
32924		faultOnNilArg0:  true,
32925		hasSideEffects:  true,
32926		unsafePoint:     true,
32927		reg: regInfo{
32928			inputs: []inputInfo{
32929				{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
32930				{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
32931				{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
32932			},
32933			outputs: []outputInfo{
32934				{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
32935			},
32936		},
32937	},
32938	{
32939		name:           "LoweredAtomicAnd32",
32940		argLen:         3,
32941		faultOnNilArg0: true,
32942		hasSideEffects: true,
32943		asm:            riscv.AAMOANDW,
32944		reg: regInfo{
32945			inputs: []inputInfo{
32946				{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
32947				{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
32948			},
32949		},
32950	},
32951	{
32952		name:           "LoweredAtomicOr32",
32953		argLen:         3,
32954		faultOnNilArg0: true,
32955		hasSideEffects: true,
32956		asm:            riscv.AAMOORW,
32957		reg: regInfo{
32958			inputs: []inputInfo{
32959				{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
32960				{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
32961			},
32962		},
32963	},
32964	{
32965		name:           "LoweredNilCheck",
32966		argLen:         2,
32967		nilCheck:       true,
32968		faultOnNilArg0: true,
32969		reg: regInfo{
32970			inputs: []inputInfo{
32971				{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
32972			},
32973		},
32974	},
32975	{
32976		name:   "LoweredGetClosurePtr",
32977		argLen: 0,
32978		reg: regInfo{
32979			outputs: []outputInfo{
32980				{0, 33554432}, // X26
32981			},
32982		},
32983	},
32984	{
32985		name:              "LoweredGetCallerSP",
32986		argLen:            1,
32987		rematerializeable: true,
32988		reg: regInfo{
32989			outputs: []outputInfo{
32990				{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
32991			},
32992		},
32993	},
32994	{
32995		name:              "LoweredGetCallerPC",
32996		argLen:            0,
32997		rematerializeable: true,
32998		reg: regInfo{
32999			outputs: []outputInfo{
33000				{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
33001			},
33002		},
33003	},
33004	{
33005		name:         "LoweredWB",
33006		auxType:      auxInt64,
33007		argLen:       1,
33008		clobberFlags: true,
33009		reg: regInfo{
33010			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
33011			outputs: []outputInfo{
33012				{0, 8388608}, // X24
33013			},
33014		},
33015	},
33016	{
33017		name:           "LoweredPubBarrier",
33018		argLen:         1,
33019		hasSideEffects: true,
33020		asm:            riscv.AFENCE,
33021		reg:            regInfo{},
33022	},
33023	{
33024		name:    "LoweredPanicBoundsA",
33025		auxType: auxInt64,
33026		argLen:  3,
33027		call:    true,
33028		reg: regInfo{
33029			inputs: []inputInfo{
33030				{0, 64},        // X7
33031				{1, 134217728}, // X28
33032			},
33033		},
33034	},
33035	{
33036		name:    "LoweredPanicBoundsB",
33037		auxType: auxInt64,
33038		argLen:  3,
33039		call:    true,
33040		reg: regInfo{
33041			inputs: []inputInfo{
33042				{0, 32}, // X6
33043				{1, 64}, // X7
33044			},
33045		},
33046	},
33047	{
33048		name:    "LoweredPanicBoundsC",
33049		auxType: auxInt64,
33050		argLen:  3,
33051		call:    true,
33052		reg: regInfo{
33053			inputs: []inputInfo{
33054				{0, 16}, // X5
33055				{1, 32}, // X6
33056			},
33057		},
33058	},
33059	{
33060		name:        "FADDS",
33061		argLen:      2,
33062		commutative: true,
33063		asm:         riscv.AFADDS,
33064		reg: regInfo{
33065			inputs: []inputInfo{
33066				{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
33067				{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
33068			},
33069			outputs: []outputInfo{
33070				{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
33071			},
33072		},
33073	},
33074	{
33075		name:   "FSUBS",
33076		argLen: 2,
33077		asm:    riscv.AFSUBS,
33078		reg: regInfo{
33079			inputs: []inputInfo{
33080				{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
33081				{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
33082			},
33083			outputs: []outputInfo{
33084				{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
33085			},
33086		},
33087	},
33088	{
33089		name:        "FMULS",
33090		argLen:      2,
33091		commutative: true,
33092		asm:         riscv.AFMULS,
33093		reg: regInfo{
33094			inputs: []inputInfo{
33095				{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
33096				{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
33097			},
33098			outputs: []outputInfo{
33099				{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
33100			},
33101		},
33102	},
33103	{
33104		name:   "FDIVS",
33105		argLen: 2,
33106		asm:    riscv.AFDIVS,
33107		reg: regInfo{
33108			inputs: []inputInfo{
33109				{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
33110				{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
33111			},
33112			outputs: []outputInfo{
33113				{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
33114			},
33115		},
33116	},
33117	{
33118		name:        "FMADDS",
33119		argLen:      3,
33120		commutative: true,
33121		asm:         riscv.AFMADDS,
33122		reg: regInfo{
33123			inputs: []inputInfo{
33124				{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
33125				{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
33126				{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
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:        "FMSUBS",
33135		argLen:      3,
33136		commutative: true,
33137		asm:         riscv.AFMSUBS,
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:        "FNMADDS",
33151		argLen:      3,
33152		commutative: true,
33153		asm:         riscv.AFNMADDS,
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:        "FNMSUBS",
33167		argLen:      3,
33168		commutative: true,
33169		asm:         riscv.AFNMSUBS,
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:   "FSQRTS",
33183		argLen: 1,
33184		asm:    riscv.AFSQRTS,
33185		reg: regInfo{
33186			inputs: []inputInfo{
33187				{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
33188			},
33189			outputs: []outputInfo{
33190				{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
33191			},
33192		},
33193	},
33194	{
33195		name:   "FNEGS",
33196		argLen: 1,
33197		asm:    riscv.AFNEGS,
33198		reg: regInfo{
33199			inputs: []inputInfo{
33200				{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
33201			},
33202			outputs: []outputInfo{
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		},
33206	},
33207	{
33208		name:   "FMVSX",
33209		argLen: 1,
33210		asm:    riscv.AFMVSX,
33211		reg: regInfo{
33212			inputs: []inputInfo{
33213				{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
33214			},
33215			outputs: []outputInfo{
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		},
33219	},
33220	{
33221		name:   "FCVTSW",
33222		argLen: 1,
33223		asm:    riscv.AFCVTSW,
33224		reg: regInfo{
33225			inputs: []inputInfo{
33226				{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
33227			},
33228			outputs: []outputInfo{
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		},
33232	},
33233	{
33234		name:   "FCVTSL",
33235		argLen: 1,
33236		asm:    riscv.AFCVTSL,
33237		reg: regInfo{
33238			inputs: []inputInfo{
33239				{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
33240			},
33241			outputs: []outputInfo{
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			},
33244		},
33245	},
33246	{
33247		name:   "FCVTWS",
33248		argLen: 1,
33249		asm:    riscv.AFCVTWS,
33250		reg: regInfo{
33251			inputs: []inputInfo{
33252				{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
33253			},
33254			outputs: []outputInfo{
33255				{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
33256			},
33257		},
33258	},
33259	{
33260		name:   "FCVTLS",
33261		argLen: 1,
33262		asm:    riscv.AFCVTLS,
33263		reg: regInfo{
33264			inputs: []inputInfo{
33265				{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
33266			},
33267			outputs: []outputInfo{
33268				{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
33269			},
33270		},
33271	},
33272	{
33273		name:           "FMOVWload",
33274		auxType:        auxSymOff,
33275		argLen:         2,
33276		faultOnNilArg0: true,
33277		symEffect:      SymRead,
33278		asm:            riscv.AMOVF,
33279		reg: regInfo{
33280			inputs: []inputInfo{
33281				{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
33282			},
33283			outputs: []outputInfo{
33284				{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
33285			},
33286		},
33287	},
33288	{
33289		name:           "FMOVWstore",
33290		auxType:        auxSymOff,
33291		argLen:         3,
33292		faultOnNilArg0: true,
33293		symEffect:      SymWrite,
33294		asm:            riscv.AMOVF,
33295		reg: regInfo{
33296			inputs: []inputInfo{
33297				{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
33298				{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
33299			},
33300		},
33301	},
33302	{
33303		name:        "FEQS",
33304		argLen:      2,
33305		commutative: true,
33306		asm:         riscv.AFEQS,
33307		reg: regInfo{
33308			inputs: []inputInfo{
33309				{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
33310				{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
33311			},
33312			outputs: []outputInfo{
33313				{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
33314			},
33315		},
33316	},
33317	{
33318		name:        "FNES",
33319		argLen:      2,
33320		commutative: true,
33321		asm:         riscv.AFNES,
33322		reg: regInfo{
33323			inputs: []inputInfo{
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				{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
33326			},
33327			outputs: []outputInfo{
33328				{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
33329			},
33330		},
33331	},
33332	{
33333		name:   "FLTS",
33334		argLen: 2,
33335		asm:    riscv.AFLTS,
33336		reg: regInfo{
33337			inputs: []inputInfo{
33338				{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
33339				{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
33340			},
33341			outputs: []outputInfo{
33342				{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
33343			},
33344		},
33345	},
33346	{
33347		name:   "FLES",
33348		argLen: 2,
33349		asm:    riscv.AFLES,
33350		reg: regInfo{
33351			inputs: []inputInfo{
33352				{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
33353				{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
33354			},
33355			outputs: []outputInfo{
33356				{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
33357			},
33358		},
33359	},
33360	{
33361		name:            "LoweredFMAXS",
33362		argLen:          2,
33363		commutative:     true,
33364		resultNotInArgs: true,
33365		asm:             riscv.AFMAXS,
33366		reg: regInfo{
33367			inputs: []inputInfo{
33368				{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
33369				{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
33370			},
33371			outputs: []outputInfo{
33372				{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
33373			},
33374		},
33375	},
33376	{
33377		name:            "LoweredFMINS",
33378		argLen:          2,
33379		commutative:     true,
33380		resultNotInArgs: true,
33381		asm:             riscv.AFMINS,
33382		reg: regInfo{
33383			inputs: []inputInfo{
33384				{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
33385				{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
33386			},
33387			outputs: []outputInfo{
33388				{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
33389			},
33390		},
33391	},
33392	{
33393		name:        "FADDD",
33394		argLen:      2,
33395		commutative: true,
33396		asm:         riscv.AFADDD,
33397		reg: regInfo{
33398			inputs: []inputInfo{
33399				{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
33400				{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
33401			},
33402			outputs: []outputInfo{
33403				{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
33404			},
33405		},
33406	},
33407	{
33408		name:   "FSUBD",
33409		argLen: 2,
33410		asm:    riscv.AFSUBD,
33411		reg: regInfo{
33412			inputs: []inputInfo{
33413				{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
33414				{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
33415			},
33416			outputs: []outputInfo{
33417				{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
33418			},
33419		},
33420	},
33421	{
33422		name:        "FMULD",
33423		argLen:      2,
33424		commutative: true,
33425		asm:         riscv.AFMULD,
33426		reg: regInfo{
33427			inputs: []inputInfo{
33428				{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
33429				{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
33430			},
33431			outputs: []outputInfo{
33432				{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
33433			},
33434		},
33435	},
33436	{
33437		name:   "FDIVD",
33438		argLen: 2,
33439		asm:    riscv.AFDIVD,
33440		reg: regInfo{
33441			inputs: []inputInfo{
33442				{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
33443				{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
33444			},
33445			outputs: []outputInfo{
33446				{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
33447			},
33448		},
33449	},
33450	{
33451		name:        "FMADDD",
33452		argLen:      3,
33453		commutative: true,
33454		asm:         riscv.AFMADDD,
33455		reg: regInfo{
33456			inputs: []inputInfo{
33457				{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
33458				{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
33459				{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
33460			},
33461			outputs: []outputInfo{
33462				{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
33463			},
33464		},
33465	},
33466	{
33467		name:        "FMSUBD",
33468		argLen:      3,
33469		commutative: true,
33470		asm:         riscv.AFMSUBD,
33471		reg: regInfo{
33472			inputs: []inputInfo{
33473				{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
33474				{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
33475				{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
33476			},
33477			outputs: []outputInfo{
33478				{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
33479			},
33480		},
33481	},
33482	{
33483		name:        "FNMADDD",
33484		argLen:      3,
33485		commutative: true,
33486		asm:         riscv.AFNMADDD,
33487		reg: regInfo{
33488			inputs: []inputInfo{
33489				{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
33490				{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
33491				{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
33492			},
33493			outputs: []outputInfo{
33494				{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
33495			},
33496		},
33497	},
33498	{
33499		name:        "FNMSUBD",
33500		argLen:      3,
33501		commutative: true,
33502		asm:         riscv.AFNMSUBD,
33503		reg: regInfo{
33504			inputs: []inputInfo{
33505				{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
33506				{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
33507				{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
33508			},
33509			outputs: []outputInfo{
33510				{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
33511			},
33512		},
33513	},
33514	{
33515		name:   "FSQRTD",
33516		argLen: 1,
33517		asm:    riscv.AFSQRTD,
33518		reg: regInfo{
33519			inputs: []inputInfo{
33520				{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
33521			},
33522			outputs: []outputInfo{
33523				{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
33524			},
33525		},
33526	},
33527	{
33528		name:   "FNEGD",
33529		argLen: 1,
33530		asm:    riscv.AFNEGD,
33531		reg: regInfo{
33532			inputs: []inputInfo{
33533				{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
33534			},
33535			outputs: []outputInfo{
33536				{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
33537			},
33538		},
33539	},
33540	{
33541		name:   "FABSD",
33542		argLen: 1,
33543		asm:    riscv.AFABSD,
33544		reg: regInfo{
33545			inputs: []inputInfo{
33546				{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
33547			},
33548			outputs: []outputInfo{
33549				{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
33550			},
33551		},
33552	},
33553	{
33554		name:   "FSGNJD",
33555		argLen: 2,
33556		asm:    riscv.AFSGNJD,
33557		reg: regInfo{
33558			inputs: []inputInfo{
33559				{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
33560				{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
33561			},
33562			outputs: []outputInfo{
33563				{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
33564			},
33565		},
33566	},
33567	{
33568		name:   "FMVDX",
33569		argLen: 1,
33570		asm:    riscv.AFMVDX,
33571		reg: regInfo{
33572			inputs: []inputInfo{
33573				{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
33574			},
33575			outputs: []outputInfo{
33576				{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
33577			},
33578		},
33579	},
33580	{
33581		name:   "FCVTDW",
33582		argLen: 1,
33583		asm:    riscv.AFCVTDW,
33584		reg: regInfo{
33585			inputs: []inputInfo{
33586				{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
33587			},
33588			outputs: []outputInfo{
33589				{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
33590			},
33591		},
33592	},
33593	{
33594		name:   "FCVTDL",
33595		argLen: 1,
33596		asm:    riscv.AFCVTDL,
33597		reg: regInfo{
33598			inputs: []inputInfo{
33599				{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
33600			},
33601			outputs: []outputInfo{
33602				{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
33603			},
33604		},
33605	},
33606	{
33607		name:   "FCVTWD",
33608		argLen: 1,
33609		asm:    riscv.AFCVTWD,
33610		reg: regInfo{
33611			inputs: []inputInfo{
33612				{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
33613			},
33614			outputs: []outputInfo{
33615				{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
33616			},
33617		},
33618	},
33619	{
33620		name:   "FCVTLD",
33621		argLen: 1,
33622		asm:    riscv.AFCVTLD,
33623		reg: regInfo{
33624			inputs: []inputInfo{
33625				{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
33626			},
33627			outputs: []outputInfo{
33628				{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
33629			},
33630		},
33631	},
33632	{
33633		name:   "FCVTDS",
33634		argLen: 1,
33635		asm:    riscv.AFCVTDS,
33636		reg: regInfo{
33637			inputs: []inputInfo{
33638				{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
33639			},
33640			outputs: []outputInfo{
33641				{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
33642			},
33643		},
33644	},
33645	{
33646		name:   "FCVTSD",
33647		argLen: 1,
33648		asm:    riscv.AFCVTSD,
33649		reg: regInfo{
33650			inputs: []inputInfo{
33651				{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
33652			},
33653			outputs: []outputInfo{
33654				{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
33655			},
33656		},
33657	},
33658	{
33659		name:           "FMOVDload",
33660		auxType:        auxSymOff,
33661		argLen:         2,
33662		faultOnNilArg0: true,
33663		symEffect:      SymRead,
33664		asm:            riscv.AMOVD,
33665		reg: regInfo{
33666			inputs: []inputInfo{
33667				{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
33668			},
33669			outputs: []outputInfo{
33670				{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
33671			},
33672		},
33673	},
33674	{
33675		name:           "FMOVDstore",
33676		auxType:        auxSymOff,
33677		argLen:         3,
33678		faultOnNilArg0: true,
33679		symEffect:      SymWrite,
33680		asm:            riscv.AMOVD,
33681		reg: regInfo{
33682			inputs: []inputInfo{
33683				{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
33684				{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
33685			},
33686		},
33687	},
33688	{
33689		name:        "FEQD",
33690		argLen:      2,
33691		commutative: true,
33692		asm:         riscv.AFEQD,
33693		reg: regInfo{
33694			inputs: []inputInfo{
33695				{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
33696				{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
33697			},
33698			outputs: []outputInfo{
33699				{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
33700			},
33701		},
33702	},
33703	{
33704		name:        "FNED",
33705		argLen:      2,
33706		commutative: true,
33707		asm:         riscv.AFNED,
33708		reg: regInfo{
33709			inputs: []inputInfo{
33710				{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
33711				{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
33712			},
33713			outputs: []outputInfo{
33714				{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
33715			},
33716		},
33717	},
33718	{
33719		name:   "FLTD",
33720		argLen: 2,
33721		asm:    riscv.AFLTD,
33722		reg: regInfo{
33723			inputs: []inputInfo{
33724				{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
33725				{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
33726			},
33727			outputs: []outputInfo{
33728				{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
33729			},
33730		},
33731	},
33732	{
33733		name:   "FLED",
33734		argLen: 2,
33735		asm:    riscv.AFLED,
33736		reg: regInfo{
33737			inputs: []inputInfo{
33738				{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
33739				{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
33740			},
33741			outputs: []outputInfo{
33742				{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
33743			},
33744		},
33745	},
33746	{
33747		name:            "LoweredFMIND",
33748		argLen:          2,
33749		commutative:     true,
33750		resultNotInArgs: true,
33751		asm:             riscv.AFMIND,
33752		reg: regInfo{
33753			inputs: []inputInfo{
33754				{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
33755				{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
33756			},
33757			outputs: []outputInfo{
33758				{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
33759			},
33760		},
33761	},
33762	{
33763		name:            "LoweredFMAXD",
33764		argLen:          2,
33765		commutative:     true,
33766		resultNotInArgs: true,
33767		asm:             riscv.AFMAXD,
33768		reg: regInfo{
33769			inputs: []inputInfo{
33770				{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
33771				{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
33772			},
33773			outputs: []outputInfo{
33774				{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
33775			},
33776		},
33777	},
33778
33779	{
33780		name:         "FADDS",
33781		argLen:       2,
33782		commutative:  true,
33783		resultInArg0: true,
33784		asm:          s390x.AFADDS,
33785		reg: regInfo{
33786			inputs: []inputInfo{
33787				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33788				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33789			},
33790			outputs: []outputInfo{
33791				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33792			},
33793		},
33794	},
33795	{
33796		name:         "FADD",
33797		argLen:       2,
33798		commutative:  true,
33799		resultInArg0: true,
33800		asm:          s390x.AFADD,
33801		reg: regInfo{
33802			inputs: []inputInfo{
33803				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33804				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33805			},
33806			outputs: []outputInfo{
33807				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33808			},
33809		},
33810	},
33811	{
33812		name:         "FSUBS",
33813		argLen:       2,
33814		resultInArg0: true,
33815		asm:          s390x.AFSUBS,
33816		reg: regInfo{
33817			inputs: []inputInfo{
33818				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33819				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33820			},
33821			outputs: []outputInfo{
33822				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33823			},
33824		},
33825	},
33826	{
33827		name:         "FSUB",
33828		argLen:       2,
33829		resultInArg0: true,
33830		asm:          s390x.AFSUB,
33831		reg: regInfo{
33832			inputs: []inputInfo{
33833				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33834				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33835			},
33836			outputs: []outputInfo{
33837				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33838			},
33839		},
33840	},
33841	{
33842		name:         "FMULS",
33843		argLen:       2,
33844		commutative:  true,
33845		resultInArg0: true,
33846		asm:          s390x.AFMULS,
33847		reg: regInfo{
33848			inputs: []inputInfo{
33849				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33850				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33851			},
33852			outputs: []outputInfo{
33853				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33854			},
33855		},
33856	},
33857	{
33858		name:         "FMUL",
33859		argLen:       2,
33860		commutative:  true,
33861		resultInArg0: true,
33862		asm:          s390x.AFMUL,
33863		reg: regInfo{
33864			inputs: []inputInfo{
33865				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33866				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33867			},
33868			outputs: []outputInfo{
33869				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33870			},
33871		},
33872	},
33873	{
33874		name:         "FDIVS",
33875		argLen:       2,
33876		resultInArg0: true,
33877		asm:          s390x.AFDIVS,
33878		reg: regInfo{
33879			inputs: []inputInfo{
33880				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33881				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33882			},
33883			outputs: []outputInfo{
33884				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33885			},
33886		},
33887	},
33888	{
33889		name:         "FDIV",
33890		argLen:       2,
33891		resultInArg0: true,
33892		asm:          s390x.AFDIV,
33893		reg: regInfo{
33894			inputs: []inputInfo{
33895				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33896				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33897			},
33898			outputs: []outputInfo{
33899				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33900			},
33901		},
33902	},
33903	{
33904		name:         "FNEGS",
33905		argLen:       1,
33906		clobberFlags: true,
33907		asm:          s390x.AFNEGS,
33908		reg: regInfo{
33909			inputs: []inputInfo{
33910				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33911			},
33912			outputs: []outputInfo{
33913				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33914			},
33915		},
33916	},
33917	{
33918		name:         "FNEG",
33919		argLen:       1,
33920		clobberFlags: true,
33921		asm:          s390x.AFNEG,
33922		reg: regInfo{
33923			inputs: []inputInfo{
33924				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33925			},
33926			outputs: []outputInfo{
33927				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33928			},
33929		},
33930	},
33931	{
33932		name:         "FMADDS",
33933		argLen:       3,
33934		resultInArg0: true,
33935		asm:          s390x.AFMADDS,
33936		reg: regInfo{
33937			inputs: []inputInfo{
33938				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33939				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33940				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33941			},
33942			outputs: []outputInfo{
33943				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33944			},
33945		},
33946	},
33947	{
33948		name:         "FMADD",
33949		argLen:       3,
33950		resultInArg0: true,
33951		asm:          s390x.AFMADD,
33952		reg: regInfo{
33953			inputs: []inputInfo{
33954				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33955				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33956				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33957			},
33958			outputs: []outputInfo{
33959				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33960			},
33961		},
33962	},
33963	{
33964		name:         "FMSUBS",
33965		argLen:       3,
33966		resultInArg0: true,
33967		asm:          s390x.AFMSUBS,
33968		reg: regInfo{
33969			inputs: []inputInfo{
33970				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33971				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33972				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33973			},
33974			outputs: []outputInfo{
33975				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33976			},
33977		},
33978	},
33979	{
33980		name:         "FMSUB",
33981		argLen:       3,
33982		resultInArg0: true,
33983		asm:          s390x.AFMSUB,
33984		reg: regInfo{
33985			inputs: []inputInfo{
33986				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33987				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33988				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33989			},
33990			outputs: []outputInfo{
33991				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
33992			},
33993		},
33994	},
33995	{
33996		name:   "LPDFR",
33997		argLen: 1,
33998		asm:    s390x.ALPDFR,
33999		reg: regInfo{
34000			inputs: []inputInfo{
34001				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34002			},
34003			outputs: []outputInfo{
34004				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34005			},
34006		},
34007	},
34008	{
34009		name:   "LNDFR",
34010		argLen: 1,
34011		asm:    s390x.ALNDFR,
34012		reg: regInfo{
34013			inputs: []inputInfo{
34014				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34015			},
34016			outputs: []outputInfo{
34017				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34018			},
34019		},
34020	},
34021	{
34022		name:   "CPSDR",
34023		argLen: 2,
34024		asm:    s390x.ACPSDR,
34025		reg: regInfo{
34026			inputs: []inputInfo{
34027				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34028				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34029			},
34030			outputs: []outputInfo{
34031				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34032			},
34033		},
34034	},
34035	{
34036		name:    "FIDBR",
34037		auxType: auxInt8,
34038		argLen:  1,
34039		asm:     s390x.AFIDBR,
34040		reg: regInfo{
34041			inputs: []inputInfo{
34042				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34043			},
34044			outputs: []outputInfo{
34045				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34046			},
34047		},
34048	},
34049	{
34050		name:           "FMOVSload",
34051		auxType:        auxSymOff,
34052		argLen:         2,
34053		faultOnNilArg0: true,
34054		symEffect:      SymRead,
34055		asm:            s390x.AFMOVS,
34056		reg: regInfo{
34057			inputs: []inputInfo{
34058				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
34059			},
34060			outputs: []outputInfo{
34061				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34062			},
34063		},
34064	},
34065	{
34066		name:           "FMOVDload",
34067		auxType:        auxSymOff,
34068		argLen:         2,
34069		faultOnNilArg0: true,
34070		symEffect:      SymRead,
34071		asm:            s390x.AFMOVD,
34072		reg: regInfo{
34073			inputs: []inputInfo{
34074				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
34075			},
34076			outputs: []outputInfo{
34077				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34078			},
34079		},
34080	},
34081	{
34082		name:              "FMOVSconst",
34083		auxType:           auxFloat32,
34084		argLen:            0,
34085		rematerializeable: true,
34086		asm:               s390x.AFMOVS,
34087		reg: regInfo{
34088			outputs: []outputInfo{
34089				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34090			},
34091		},
34092	},
34093	{
34094		name:              "FMOVDconst",
34095		auxType:           auxFloat64,
34096		argLen:            0,
34097		rematerializeable: true,
34098		asm:               s390x.AFMOVD,
34099		reg: regInfo{
34100			outputs: []outputInfo{
34101				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34102			},
34103		},
34104	},
34105	{
34106		name:      "FMOVSloadidx",
34107		auxType:   auxSymOff,
34108		argLen:    3,
34109		symEffect: SymRead,
34110		asm:       s390x.AFMOVS,
34111		reg: regInfo{
34112			inputs: []inputInfo{
34113				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34114				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34115			},
34116			outputs: []outputInfo{
34117				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34118			},
34119		},
34120	},
34121	{
34122		name:      "FMOVDloadidx",
34123		auxType:   auxSymOff,
34124		argLen:    3,
34125		symEffect: SymRead,
34126		asm:       s390x.AFMOVD,
34127		reg: regInfo{
34128			inputs: []inputInfo{
34129				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34130				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34131			},
34132			outputs: []outputInfo{
34133				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34134			},
34135		},
34136	},
34137	{
34138		name:           "FMOVSstore",
34139		auxType:        auxSymOff,
34140		argLen:         3,
34141		faultOnNilArg0: true,
34142		symEffect:      SymWrite,
34143		asm:            s390x.AFMOVS,
34144		reg: regInfo{
34145			inputs: []inputInfo{
34146				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
34147				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34148			},
34149		},
34150	},
34151	{
34152		name:           "FMOVDstore",
34153		auxType:        auxSymOff,
34154		argLen:         3,
34155		faultOnNilArg0: true,
34156		symEffect:      SymWrite,
34157		asm:            s390x.AFMOVD,
34158		reg: regInfo{
34159			inputs: []inputInfo{
34160				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
34161				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34162			},
34163		},
34164	},
34165	{
34166		name:      "FMOVSstoreidx",
34167		auxType:   auxSymOff,
34168		argLen:    4,
34169		symEffect: SymWrite,
34170		asm:       s390x.AFMOVS,
34171		reg: regInfo{
34172			inputs: []inputInfo{
34173				{0, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34174				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34175				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34176			},
34177		},
34178	},
34179	{
34180		name:      "FMOVDstoreidx",
34181		auxType:   auxSymOff,
34182		argLen:    4,
34183		symEffect: SymWrite,
34184		asm:       s390x.AFMOVD,
34185		reg: regInfo{
34186			inputs: []inputInfo{
34187				{0, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34188				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34189				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
34190			},
34191		},
34192	},
34193	{
34194		name:         "ADD",
34195		argLen:       2,
34196		commutative:  true,
34197		clobberFlags: true,
34198		asm:          s390x.AADD,
34199		reg: regInfo{
34200			inputs: []inputInfo{
34201				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34202				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34203			},
34204			outputs: []outputInfo{
34205				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34206			},
34207		},
34208	},
34209	{
34210		name:         "ADDW",
34211		argLen:       2,
34212		commutative:  true,
34213		clobberFlags: true,
34214		asm:          s390x.AADDW,
34215		reg: regInfo{
34216			inputs: []inputInfo{
34217				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34218				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34219			},
34220			outputs: []outputInfo{
34221				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34222			},
34223		},
34224	},
34225	{
34226		name:         "ADDconst",
34227		auxType:      auxInt32,
34228		argLen:       1,
34229		clobberFlags: true,
34230		asm:          s390x.AADD,
34231		reg: regInfo{
34232			inputs: []inputInfo{
34233				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34234			},
34235			outputs: []outputInfo{
34236				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34237			},
34238		},
34239	},
34240	{
34241		name:         "ADDWconst",
34242		auxType:      auxInt32,
34243		argLen:       1,
34244		clobberFlags: true,
34245		asm:          s390x.AADDW,
34246		reg: regInfo{
34247			inputs: []inputInfo{
34248				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34249			},
34250			outputs: []outputInfo{
34251				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34252			},
34253		},
34254	},
34255	{
34256		name:           "ADDload",
34257		auxType:        auxSymOff,
34258		argLen:         3,
34259		resultInArg0:   true,
34260		clobberFlags:   true,
34261		faultOnNilArg1: true,
34262		symEffect:      SymRead,
34263		asm:            s390x.AADD,
34264		reg: regInfo{
34265			inputs: []inputInfo{
34266				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34267				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34268			},
34269			outputs: []outputInfo{
34270				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34271			},
34272		},
34273	},
34274	{
34275		name:           "ADDWload",
34276		auxType:        auxSymOff,
34277		argLen:         3,
34278		resultInArg0:   true,
34279		clobberFlags:   true,
34280		faultOnNilArg1: true,
34281		symEffect:      SymRead,
34282		asm:            s390x.AADDW,
34283		reg: regInfo{
34284			inputs: []inputInfo{
34285				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34286				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34287			},
34288			outputs: []outputInfo{
34289				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34290			},
34291		},
34292	},
34293	{
34294		name:         "SUB",
34295		argLen:       2,
34296		clobberFlags: true,
34297		asm:          s390x.ASUB,
34298		reg: regInfo{
34299			inputs: []inputInfo{
34300				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34301				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34302			},
34303			outputs: []outputInfo{
34304				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34305			},
34306		},
34307	},
34308	{
34309		name:         "SUBW",
34310		argLen:       2,
34311		clobberFlags: true,
34312		asm:          s390x.ASUBW,
34313		reg: regInfo{
34314			inputs: []inputInfo{
34315				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34316				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34317			},
34318			outputs: []outputInfo{
34319				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34320			},
34321		},
34322	},
34323	{
34324		name:         "SUBconst",
34325		auxType:      auxInt32,
34326		argLen:       1,
34327		resultInArg0: true,
34328		clobberFlags: true,
34329		asm:          s390x.ASUB,
34330		reg: regInfo{
34331			inputs: []inputInfo{
34332				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34333			},
34334			outputs: []outputInfo{
34335				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34336			},
34337		},
34338	},
34339	{
34340		name:         "SUBWconst",
34341		auxType:      auxInt32,
34342		argLen:       1,
34343		resultInArg0: true,
34344		clobberFlags: true,
34345		asm:          s390x.ASUBW,
34346		reg: regInfo{
34347			inputs: []inputInfo{
34348				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34349			},
34350			outputs: []outputInfo{
34351				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34352			},
34353		},
34354	},
34355	{
34356		name:           "SUBload",
34357		auxType:        auxSymOff,
34358		argLen:         3,
34359		resultInArg0:   true,
34360		clobberFlags:   true,
34361		faultOnNilArg1: true,
34362		symEffect:      SymRead,
34363		asm:            s390x.ASUB,
34364		reg: regInfo{
34365			inputs: []inputInfo{
34366				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34367				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34368			},
34369			outputs: []outputInfo{
34370				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34371			},
34372		},
34373	},
34374	{
34375		name:           "SUBWload",
34376		auxType:        auxSymOff,
34377		argLen:         3,
34378		resultInArg0:   true,
34379		clobberFlags:   true,
34380		faultOnNilArg1: true,
34381		symEffect:      SymRead,
34382		asm:            s390x.ASUBW,
34383		reg: regInfo{
34384			inputs: []inputInfo{
34385				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34386				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34387			},
34388			outputs: []outputInfo{
34389				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34390			},
34391		},
34392	},
34393	{
34394		name:         "MULLD",
34395		argLen:       2,
34396		commutative:  true,
34397		resultInArg0: true,
34398		clobberFlags: true,
34399		asm:          s390x.AMULLD,
34400		reg: regInfo{
34401			inputs: []inputInfo{
34402				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34403				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34404			},
34405			outputs: []outputInfo{
34406				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34407			},
34408		},
34409	},
34410	{
34411		name:         "MULLW",
34412		argLen:       2,
34413		commutative:  true,
34414		resultInArg0: true,
34415		clobberFlags: true,
34416		asm:          s390x.AMULLW,
34417		reg: regInfo{
34418			inputs: []inputInfo{
34419				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34420				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34421			},
34422			outputs: []outputInfo{
34423				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34424			},
34425		},
34426	},
34427	{
34428		name:         "MULLDconst",
34429		auxType:      auxInt32,
34430		argLen:       1,
34431		resultInArg0: true,
34432		clobberFlags: true,
34433		asm:          s390x.AMULLD,
34434		reg: regInfo{
34435			inputs: []inputInfo{
34436				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34437			},
34438			outputs: []outputInfo{
34439				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34440			},
34441		},
34442	},
34443	{
34444		name:         "MULLWconst",
34445		auxType:      auxInt32,
34446		argLen:       1,
34447		resultInArg0: true,
34448		clobberFlags: true,
34449		asm:          s390x.AMULLW,
34450		reg: regInfo{
34451			inputs: []inputInfo{
34452				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34453			},
34454			outputs: []outputInfo{
34455				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34456			},
34457		},
34458	},
34459	{
34460		name:           "MULLDload",
34461		auxType:        auxSymOff,
34462		argLen:         3,
34463		resultInArg0:   true,
34464		clobberFlags:   true,
34465		faultOnNilArg1: true,
34466		symEffect:      SymRead,
34467		asm:            s390x.AMULLD,
34468		reg: regInfo{
34469			inputs: []inputInfo{
34470				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34471				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34472			},
34473			outputs: []outputInfo{
34474				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34475			},
34476		},
34477	},
34478	{
34479		name:           "MULLWload",
34480		auxType:        auxSymOff,
34481		argLen:         3,
34482		resultInArg0:   true,
34483		clobberFlags:   true,
34484		faultOnNilArg1: true,
34485		symEffect:      SymRead,
34486		asm:            s390x.AMULLW,
34487		reg: regInfo{
34488			inputs: []inputInfo{
34489				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34490				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34491			},
34492			outputs: []outputInfo{
34493				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34494			},
34495		},
34496	},
34497	{
34498		name:         "MULHD",
34499		argLen:       2,
34500		commutative:  true,
34501		resultInArg0: true,
34502		clobberFlags: true,
34503		asm:          s390x.AMULHD,
34504		reg: regInfo{
34505			inputs: []inputInfo{
34506				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34507				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34508			},
34509			clobbers: 2048, // R11
34510			outputs: []outputInfo{
34511				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34512			},
34513		},
34514	},
34515	{
34516		name:         "MULHDU",
34517		argLen:       2,
34518		commutative:  true,
34519		resultInArg0: true,
34520		clobberFlags: true,
34521		asm:          s390x.AMULHDU,
34522		reg: regInfo{
34523			inputs: []inputInfo{
34524				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34525				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34526			},
34527			clobbers: 2048, // R11
34528			outputs: []outputInfo{
34529				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34530			},
34531		},
34532	},
34533	{
34534		name:         "DIVD",
34535		argLen:       2,
34536		resultInArg0: true,
34537		clobberFlags: true,
34538		asm:          s390x.ADIVD,
34539		reg: regInfo{
34540			inputs: []inputInfo{
34541				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34542				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34543			},
34544			clobbers: 2048, // R11
34545			outputs: []outputInfo{
34546				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34547			},
34548		},
34549	},
34550	{
34551		name:         "DIVW",
34552		argLen:       2,
34553		resultInArg0: true,
34554		clobberFlags: true,
34555		asm:          s390x.ADIVW,
34556		reg: regInfo{
34557			inputs: []inputInfo{
34558				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34559				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34560			},
34561			clobbers: 2048, // R11
34562			outputs: []outputInfo{
34563				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34564			},
34565		},
34566	},
34567	{
34568		name:         "DIVDU",
34569		argLen:       2,
34570		resultInArg0: true,
34571		clobberFlags: true,
34572		asm:          s390x.ADIVDU,
34573		reg: regInfo{
34574			inputs: []inputInfo{
34575				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34576				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34577			},
34578			clobbers: 2048, // R11
34579			outputs: []outputInfo{
34580				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34581			},
34582		},
34583	},
34584	{
34585		name:         "DIVWU",
34586		argLen:       2,
34587		resultInArg0: true,
34588		clobberFlags: true,
34589		asm:          s390x.ADIVWU,
34590		reg: regInfo{
34591			inputs: []inputInfo{
34592				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34593				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34594			},
34595			clobbers: 2048, // R11
34596			outputs: []outputInfo{
34597				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34598			},
34599		},
34600	},
34601	{
34602		name:         "MODD",
34603		argLen:       2,
34604		resultInArg0: true,
34605		clobberFlags: true,
34606		asm:          s390x.AMODD,
34607		reg: regInfo{
34608			inputs: []inputInfo{
34609				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34610				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34611			},
34612			clobbers: 2048, // R11
34613			outputs: []outputInfo{
34614				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34615			},
34616		},
34617	},
34618	{
34619		name:         "MODW",
34620		argLen:       2,
34621		resultInArg0: true,
34622		clobberFlags: true,
34623		asm:          s390x.AMODW,
34624		reg: regInfo{
34625			inputs: []inputInfo{
34626				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34627				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34628			},
34629			clobbers: 2048, // R11
34630			outputs: []outputInfo{
34631				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34632			},
34633		},
34634	},
34635	{
34636		name:         "MODDU",
34637		argLen:       2,
34638		resultInArg0: true,
34639		clobberFlags: true,
34640		asm:          s390x.AMODDU,
34641		reg: regInfo{
34642			inputs: []inputInfo{
34643				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34644				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34645			},
34646			clobbers: 2048, // R11
34647			outputs: []outputInfo{
34648				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34649			},
34650		},
34651	},
34652	{
34653		name:         "MODWU",
34654		argLen:       2,
34655		resultInArg0: true,
34656		clobberFlags: true,
34657		asm:          s390x.AMODWU,
34658		reg: regInfo{
34659			inputs: []inputInfo{
34660				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34661				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34662			},
34663			clobbers: 2048, // R11
34664			outputs: []outputInfo{
34665				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
34666			},
34667		},
34668	},
34669	{
34670		name:         "AND",
34671		argLen:       2,
34672		commutative:  true,
34673		clobberFlags: true,
34674		asm:          s390x.AAND,
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:         "ANDW",
34687		argLen:       2,
34688		commutative:  true,
34689		clobberFlags: true,
34690		asm:          s390x.AANDW,
34691		reg: regInfo{
34692			inputs: []inputInfo{
34693				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34694				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34695			},
34696			outputs: []outputInfo{
34697				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34698			},
34699		},
34700	},
34701	{
34702		name:         "ANDconst",
34703		auxType:      auxInt64,
34704		argLen:       1,
34705		resultInArg0: true,
34706		clobberFlags: true,
34707		asm:          s390x.AAND,
34708		reg: regInfo{
34709			inputs: []inputInfo{
34710				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34711			},
34712			outputs: []outputInfo{
34713				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34714			},
34715		},
34716	},
34717	{
34718		name:         "ANDWconst",
34719		auxType:      auxInt32,
34720		argLen:       1,
34721		resultInArg0: true,
34722		clobberFlags: true,
34723		asm:          s390x.AANDW,
34724		reg: regInfo{
34725			inputs: []inputInfo{
34726				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34727			},
34728			outputs: []outputInfo{
34729				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34730			},
34731		},
34732	},
34733	{
34734		name:           "ANDload",
34735		auxType:        auxSymOff,
34736		argLen:         3,
34737		resultInArg0:   true,
34738		clobberFlags:   true,
34739		faultOnNilArg1: true,
34740		symEffect:      SymRead,
34741		asm:            s390x.AAND,
34742		reg: regInfo{
34743			inputs: []inputInfo{
34744				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34745				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34746			},
34747			outputs: []outputInfo{
34748				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34749			},
34750		},
34751	},
34752	{
34753		name:           "ANDWload",
34754		auxType:        auxSymOff,
34755		argLen:         3,
34756		resultInArg0:   true,
34757		clobberFlags:   true,
34758		faultOnNilArg1: true,
34759		symEffect:      SymRead,
34760		asm:            s390x.AANDW,
34761		reg: regInfo{
34762			inputs: []inputInfo{
34763				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34764				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34765			},
34766			outputs: []outputInfo{
34767				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34768			},
34769		},
34770	},
34771	{
34772		name:         "OR",
34773		argLen:       2,
34774		commutative:  true,
34775		clobberFlags: true,
34776		asm:          s390x.AOR,
34777		reg: regInfo{
34778			inputs: []inputInfo{
34779				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34780				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34781			},
34782			outputs: []outputInfo{
34783				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34784			},
34785		},
34786	},
34787	{
34788		name:         "ORW",
34789		argLen:       2,
34790		commutative:  true,
34791		clobberFlags: true,
34792		asm:          s390x.AORW,
34793		reg: regInfo{
34794			inputs: []inputInfo{
34795				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34796				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34797			},
34798			outputs: []outputInfo{
34799				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34800			},
34801		},
34802	},
34803	{
34804		name:         "ORconst",
34805		auxType:      auxInt64,
34806		argLen:       1,
34807		resultInArg0: true,
34808		clobberFlags: true,
34809		asm:          s390x.AOR,
34810		reg: regInfo{
34811			inputs: []inputInfo{
34812				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34813			},
34814			outputs: []outputInfo{
34815				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34816			},
34817		},
34818	},
34819	{
34820		name:         "ORWconst",
34821		auxType:      auxInt32,
34822		argLen:       1,
34823		resultInArg0: true,
34824		clobberFlags: true,
34825		asm:          s390x.AORW,
34826		reg: regInfo{
34827			inputs: []inputInfo{
34828				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34829			},
34830			outputs: []outputInfo{
34831				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34832			},
34833		},
34834	},
34835	{
34836		name:           "ORload",
34837		auxType:        auxSymOff,
34838		argLen:         3,
34839		resultInArg0:   true,
34840		clobberFlags:   true,
34841		faultOnNilArg1: true,
34842		symEffect:      SymRead,
34843		asm:            s390x.AOR,
34844		reg: regInfo{
34845			inputs: []inputInfo{
34846				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34847				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34848			},
34849			outputs: []outputInfo{
34850				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34851			},
34852		},
34853	},
34854	{
34855		name:           "ORWload",
34856		auxType:        auxSymOff,
34857		argLen:         3,
34858		resultInArg0:   true,
34859		clobberFlags:   true,
34860		faultOnNilArg1: true,
34861		symEffect:      SymRead,
34862		asm:            s390x.AORW,
34863		reg: regInfo{
34864			inputs: []inputInfo{
34865				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34866				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34867			},
34868			outputs: []outputInfo{
34869				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34870			},
34871		},
34872	},
34873	{
34874		name:         "XOR",
34875		argLen:       2,
34876		commutative:  true,
34877		clobberFlags: true,
34878		asm:          s390x.AXOR,
34879		reg: regInfo{
34880			inputs: []inputInfo{
34881				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34882				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34883			},
34884			outputs: []outputInfo{
34885				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34886			},
34887		},
34888	},
34889	{
34890		name:         "XORW",
34891		argLen:       2,
34892		commutative:  true,
34893		clobberFlags: true,
34894		asm:          s390x.AXORW,
34895		reg: regInfo{
34896			inputs: []inputInfo{
34897				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34898				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34899			},
34900			outputs: []outputInfo{
34901				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34902			},
34903		},
34904	},
34905	{
34906		name:         "XORconst",
34907		auxType:      auxInt64,
34908		argLen:       1,
34909		resultInArg0: true,
34910		clobberFlags: true,
34911		asm:          s390x.AXOR,
34912		reg: regInfo{
34913			inputs: []inputInfo{
34914				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34915			},
34916			outputs: []outputInfo{
34917				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34918			},
34919		},
34920	},
34921	{
34922		name:         "XORWconst",
34923		auxType:      auxInt32,
34924		argLen:       1,
34925		resultInArg0: true,
34926		clobberFlags: true,
34927		asm:          s390x.AXORW,
34928		reg: regInfo{
34929			inputs: []inputInfo{
34930				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34931			},
34932			outputs: []outputInfo{
34933				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34934			},
34935		},
34936	},
34937	{
34938		name:           "XORload",
34939		auxType:        auxSymOff,
34940		argLen:         3,
34941		resultInArg0:   true,
34942		clobberFlags:   true,
34943		faultOnNilArg1: true,
34944		symEffect:      SymRead,
34945		asm:            s390x.AXOR,
34946		reg: regInfo{
34947			inputs: []inputInfo{
34948				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34949				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34950			},
34951			outputs: []outputInfo{
34952				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34953			},
34954		},
34955	},
34956	{
34957		name:           "XORWload",
34958		auxType:        auxSymOff,
34959		argLen:         3,
34960		resultInArg0:   true,
34961		clobberFlags:   true,
34962		faultOnNilArg1: true,
34963		symEffect:      SymRead,
34964		asm:            s390x.AXORW,
34965		reg: regInfo{
34966			inputs: []inputInfo{
34967				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34968				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
34969			},
34970			outputs: []outputInfo{
34971				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34972			},
34973		},
34974	},
34975	{
34976		name:        "ADDC",
34977		argLen:      2,
34978		commutative: true,
34979		asm:         s390x.AADDC,
34980		reg: regInfo{
34981			inputs: []inputInfo{
34982				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34983				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34984			},
34985			outputs: []outputInfo{
34986				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34987			},
34988		},
34989	},
34990	{
34991		name:    "ADDCconst",
34992		auxType: auxInt16,
34993		argLen:  1,
34994		asm:     s390x.AADDC,
34995		reg: regInfo{
34996			inputs: []inputInfo{
34997				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
34998			},
34999			outputs: []outputInfo{
35000				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35001			},
35002		},
35003	},
35004	{
35005		name:         "ADDE",
35006		argLen:       3,
35007		commutative:  true,
35008		resultInArg0: true,
35009		asm:          s390x.AADDE,
35010		reg: regInfo{
35011			inputs: []inputInfo{
35012				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35013				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35014			},
35015			outputs: []outputInfo{
35016				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35017			},
35018		},
35019	},
35020	{
35021		name:   "SUBC",
35022		argLen: 2,
35023		asm:    s390x.ASUBC,
35024		reg: regInfo{
35025			inputs: []inputInfo{
35026				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35027				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35028			},
35029			outputs: []outputInfo{
35030				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35031			},
35032		},
35033	},
35034	{
35035		name:         "SUBE",
35036		argLen:       3,
35037		resultInArg0: true,
35038		asm:          s390x.ASUBE,
35039		reg: regInfo{
35040			inputs: []inputInfo{
35041				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35042				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35043			},
35044			outputs: []outputInfo{
35045				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35046			},
35047		},
35048	},
35049	{
35050		name:   "CMP",
35051		argLen: 2,
35052		asm:    s390x.ACMP,
35053		reg: regInfo{
35054			inputs: []inputInfo{
35055				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35056				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35057			},
35058		},
35059	},
35060	{
35061		name:   "CMPW",
35062		argLen: 2,
35063		asm:    s390x.ACMPW,
35064		reg: regInfo{
35065			inputs: []inputInfo{
35066				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35067				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35068			},
35069		},
35070	},
35071	{
35072		name:   "CMPU",
35073		argLen: 2,
35074		asm:    s390x.ACMPU,
35075		reg: regInfo{
35076			inputs: []inputInfo{
35077				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35078				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35079			},
35080		},
35081	},
35082	{
35083		name:   "CMPWU",
35084		argLen: 2,
35085		asm:    s390x.ACMPWU,
35086		reg: regInfo{
35087			inputs: []inputInfo{
35088				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35089				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35090			},
35091		},
35092	},
35093	{
35094		name:    "CMPconst",
35095		auxType: auxInt32,
35096		argLen:  1,
35097		asm:     s390x.ACMP,
35098		reg: regInfo{
35099			inputs: []inputInfo{
35100				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35101			},
35102		},
35103	},
35104	{
35105		name:    "CMPWconst",
35106		auxType: auxInt32,
35107		argLen:  1,
35108		asm:     s390x.ACMPW,
35109		reg: regInfo{
35110			inputs: []inputInfo{
35111				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35112			},
35113		},
35114	},
35115	{
35116		name:    "CMPUconst",
35117		auxType: auxInt32,
35118		argLen:  1,
35119		asm:     s390x.ACMPU,
35120		reg: regInfo{
35121			inputs: []inputInfo{
35122				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35123			},
35124		},
35125	},
35126	{
35127		name:    "CMPWUconst",
35128		auxType: auxInt32,
35129		argLen:  1,
35130		asm:     s390x.ACMPWU,
35131		reg: regInfo{
35132			inputs: []inputInfo{
35133				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35134			},
35135		},
35136	},
35137	{
35138		name:   "FCMPS",
35139		argLen: 2,
35140		asm:    s390x.ACEBR,
35141		reg: regInfo{
35142			inputs: []inputInfo{
35143				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35144				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35145			},
35146		},
35147	},
35148	{
35149		name:   "FCMP",
35150		argLen: 2,
35151		asm:    s390x.AFCMPU,
35152		reg: regInfo{
35153			inputs: []inputInfo{
35154				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35155				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35156			},
35157		},
35158	},
35159	{
35160		name:   "LTDBR",
35161		argLen: 1,
35162		asm:    s390x.ALTDBR,
35163		reg: regInfo{
35164			inputs: []inputInfo{
35165				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35166			},
35167		},
35168	},
35169	{
35170		name:   "LTEBR",
35171		argLen: 1,
35172		asm:    s390x.ALTEBR,
35173		reg: regInfo{
35174			inputs: []inputInfo{
35175				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35176			},
35177		},
35178	},
35179	{
35180		name:   "SLD",
35181		argLen: 2,
35182		asm:    s390x.ASLD,
35183		reg: regInfo{
35184			inputs: []inputInfo{
35185				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35186				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35187			},
35188			outputs: []outputInfo{
35189				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35190			},
35191		},
35192	},
35193	{
35194		name:   "SLW",
35195		argLen: 2,
35196		asm:    s390x.ASLW,
35197		reg: regInfo{
35198			inputs: []inputInfo{
35199				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35200				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35201			},
35202			outputs: []outputInfo{
35203				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35204			},
35205		},
35206	},
35207	{
35208		name:    "SLDconst",
35209		auxType: auxUInt8,
35210		argLen:  1,
35211		asm:     s390x.ASLD,
35212		reg: regInfo{
35213			inputs: []inputInfo{
35214				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35215			},
35216			outputs: []outputInfo{
35217				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35218			},
35219		},
35220	},
35221	{
35222		name:    "SLWconst",
35223		auxType: auxUInt8,
35224		argLen:  1,
35225		asm:     s390x.ASLW,
35226		reg: regInfo{
35227			inputs: []inputInfo{
35228				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35229			},
35230			outputs: []outputInfo{
35231				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35232			},
35233		},
35234	},
35235	{
35236		name:   "SRD",
35237		argLen: 2,
35238		asm:    s390x.ASRD,
35239		reg: regInfo{
35240			inputs: []inputInfo{
35241				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35242				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35243			},
35244			outputs: []outputInfo{
35245				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35246			},
35247		},
35248	},
35249	{
35250		name:   "SRW",
35251		argLen: 2,
35252		asm:    s390x.ASRW,
35253		reg: regInfo{
35254			inputs: []inputInfo{
35255				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35256				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35257			},
35258			outputs: []outputInfo{
35259				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35260			},
35261		},
35262	},
35263	{
35264		name:    "SRDconst",
35265		auxType: auxUInt8,
35266		argLen:  1,
35267		asm:     s390x.ASRD,
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, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35274			},
35275		},
35276	},
35277	{
35278		name:    "SRWconst",
35279		auxType: auxUInt8,
35280		argLen:  1,
35281		asm:     s390x.ASRW,
35282		reg: regInfo{
35283			inputs: []inputInfo{
35284				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35285			},
35286			outputs: []outputInfo{
35287				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35288			},
35289		},
35290	},
35291	{
35292		name:         "SRAD",
35293		argLen:       2,
35294		clobberFlags: true,
35295		asm:          s390x.ASRAD,
35296		reg: regInfo{
35297			inputs: []inputInfo{
35298				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35299				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35300			},
35301			outputs: []outputInfo{
35302				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35303			},
35304		},
35305	},
35306	{
35307		name:         "SRAW",
35308		argLen:       2,
35309		clobberFlags: true,
35310		asm:          s390x.ASRAW,
35311		reg: regInfo{
35312			inputs: []inputInfo{
35313				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35314				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35315			},
35316			outputs: []outputInfo{
35317				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35318			},
35319		},
35320	},
35321	{
35322		name:         "SRADconst",
35323		auxType:      auxUInt8,
35324		argLen:       1,
35325		clobberFlags: true,
35326		asm:          s390x.ASRAD,
35327		reg: regInfo{
35328			inputs: []inputInfo{
35329				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35330			},
35331			outputs: []outputInfo{
35332				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35333			},
35334		},
35335	},
35336	{
35337		name:         "SRAWconst",
35338		auxType:      auxUInt8,
35339		argLen:       1,
35340		clobberFlags: true,
35341		asm:          s390x.ASRAW,
35342		reg: regInfo{
35343			inputs: []inputInfo{
35344				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35345			},
35346			outputs: []outputInfo{
35347				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35348			},
35349		},
35350	},
35351	{
35352		name:   "RLLG",
35353		argLen: 2,
35354		asm:    s390x.ARLLG,
35355		reg: regInfo{
35356			inputs: []inputInfo{
35357				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35358				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35359			},
35360			outputs: []outputInfo{
35361				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35362			},
35363		},
35364	},
35365	{
35366		name:   "RLL",
35367		argLen: 2,
35368		asm:    s390x.ARLL,
35369		reg: regInfo{
35370			inputs: []inputInfo{
35371				{1, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35372				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35373			},
35374			outputs: []outputInfo{
35375				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35376			},
35377		},
35378	},
35379	{
35380		name:    "RLLconst",
35381		auxType: auxUInt8,
35382		argLen:  1,
35383		asm:     s390x.ARLL,
35384		reg: regInfo{
35385			inputs: []inputInfo{
35386				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35387			},
35388			outputs: []outputInfo{
35389				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35390			},
35391		},
35392	},
35393	{
35394		name:         "RXSBG",
35395		auxType:      auxS390XRotateParams,
35396		argLen:       2,
35397		resultInArg0: true,
35398		clobberFlags: true,
35399		asm:          s390x.ARXSBG,
35400		reg: regInfo{
35401			inputs: []inputInfo{
35402				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35403				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35404			},
35405			outputs: []outputInfo{
35406				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35407			},
35408		},
35409	},
35410	{
35411		name:         "RISBGZ",
35412		auxType:      auxS390XRotateParams,
35413		argLen:       1,
35414		clobberFlags: true,
35415		asm:          s390x.ARISBGZ,
35416		reg: regInfo{
35417			inputs: []inputInfo{
35418				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35419			},
35420			outputs: []outputInfo{
35421				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35422			},
35423		},
35424	},
35425	{
35426		name:         "NEG",
35427		argLen:       1,
35428		clobberFlags: true,
35429		asm:          s390x.ANEG,
35430		reg: regInfo{
35431			inputs: []inputInfo{
35432				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35433			},
35434			outputs: []outputInfo{
35435				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35436			},
35437		},
35438	},
35439	{
35440		name:         "NEGW",
35441		argLen:       1,
35442		clobberFlags: true,
35443		asm:          s390x.ANEGW,
35444		reg: regInfo{
35445			inputs: []inputInfo{
35446				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35447			},
35448			outputs: []outputInfo{
35449				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35450			},
35451		},
35452	},
35453	{
35454		name:         "NOT",
35455		argLen:       1,
35456		resultInArg0: true,
35457		clobberFlags: true,
35458		reg: regInfo{
35459			inputs: []inputInfo{
35460				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35461			},
35462			outputs: []outputInfo{
35463				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35464			},
35465		},
35466	},
35467	{
35468		name:         "NOTW",
35469		argLen:       1,
35470		resultInArg0: true,
35471		clobberFlags: true,
35472		reg: regInfo{
35473			inputs: []inputInfo{
35474				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35475			},
35476			outputs: []outputInfo{
35477				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35478			},
35479		},
35480	},
35481	{
35482		name:   "FSQRT",
35483		argLen: 1,
35484		asm:    s390x.AFSQRT,
35485		reg: regInfo{
35486			inputs: []inputInfo{
35487				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35488			},
35489			outputs: []outputInfo{
35490				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35491			},
35492		},
35493	},
35494	{
35495		name:   "FSQRTS",
35496		argLen: 1,
35497		asm:    s390x.AFSQRTS,
35498		reg: regInfo{
35499			inputs: []inputInfo{
35500				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35501			},
35502			outputs: []outputInfo{
35503				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35504			},
35505		},
35506	},
35507	{
35508		name:         "LOCGR",
35509		auxType:      auxS390XCCMask,
35510		argLen:       3,
35511		resultInArg0: true,
35512		asm:          s390x.ALOCGR,
35513		reg: regInfo{
35514			inputs: []inputInfo{
35515				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35516				{1, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35517			},
35518			outputs: []outputInfo{
35519				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35520			},
35521		},
35522	},
35523	{
35524		name:   "MOVBreg",
35525		argLen: 1,
35526		asm:    s390x.AMOVB,
35527		reg: regInfo{
35528			inputs: []inputInfo{
35529				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35530			},
35531			outputs: []outputInfo{
35532				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35533			},
35534		},
35535	},
35536	{
35537		name:   "MOVBZreg",
35538		argLen: 1,
35539		asm:    s390x.AMOVBZ,
35540		reg: regInfo{
35541			inputs: []inputInfo{
35542				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35543			},
35544			outputs: []outputInfo{
35545				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35546			},
35547		},
35548	},
35549	{
35550		name:   "MOVHreg",
35551		argLen: 1,
35552		asm:    s390x.AMOVH,
35553		reg: regInfo{
35554			inputs: []inputInfo{
35555				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35556			},
35557			outputs: []outputInfo{
35558				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35559			},
35560		},
35561	},
35562	{
35563		name:   "MOVHZreg",
35564		argLen: 1,
35565		asm:    s390x.AMOVHZ,
35566		reg: regInfo{
35567			inputs: []inputInfo{
35568				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35569			},
35570			outputs: []outputInfo{
35571				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35572			},
35573		},
35574	},
35575	{
35576		name:   "MOVWreg",
35577		argLen: 1,
35578		asm:    s390x.AMOVW,
35579		reg: regInfo{
35580			inputs: []inputInfo{
35581				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35582			},
35583			outputs: []outputInfo{
35584				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35585			},
35586		},
35587	},
35588	{
35589		name:   "MOVWZreg",
35590		argLen: 1,
35591		asm:    s390x.AMOVWZ,
35592		reg: regInfo{
35593			inputs: []inputInfo{
35594				{0, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35595			},
35596			outputs: []outputInfo{
35597				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35598			},
35599		},
35600	},
35601	{
35602		name:              "MOVDconst",
35603		auxType:           auxInt64,
35604		argLen:            0,
35605		rematerializeable: true,
35606		asm:               s390x.AMOVD,
35607		reg: regInfo{
35608			outputs: []outputInfo{
35609				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35610			},
35611		},
35612	},
35613	{
35614		name:   "LDGR",
35615		argLen: 1,
35616		asm:    s390x.ALDGR,
35617		reg: regInfo{
35618			inputs: []inputInfo{
35619				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35620			},
35621			outputs: []outputInfo{
35622				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35623			},
35624		},
35625	},
35626	{
35627		name:   "LGDR",
35628		argLen: 1,
35629		asm:    s390x.ALGDR,
35630		reg: regInfo{
35631			inputs: []inputInfo{
35632				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35633			},
35634			outputs: []outputInfo{
35635				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35636			},
35637		},
35638	},
35639	{
35640		name:         "CFDBRA",
35641		argLen:       1,
35642		clobberFlags: true,
35643		asm:          s390x.ACFDBRA,
35644		reg: regInfo{
35645			inputs: []inputInfo{
35646				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35647			},
35648			outputs: []outputInfo{
35649				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35650			},
35651		},
35652	},
35653	{
35654		name:         "CGDBRA",
35655		argLen:       1,
35656		clobberFlags: true,
35657		asm:          s390x.ACGDBRA,
35658		reg: regInfo{
35659			inputs: []inputInfo{
35660				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35661			},
35662			outputs: []outputInfo{
35663				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35664			},
35665		},
35666	},
35667	{
35668		name:         "CFEBRA",
35669		argLen:       1,
35670		clobberFlags: true,
35671		asm:          s390x.ACFEBRA,
35672		reg: regInfo{
35673			inputs: []inputInfo{
35674				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35675			},
35676			outputs: []outputInfo{
35677				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35678			},
35679		},
35680	},
35681	{
35682		name:         "CGEBRA",
35683		argLen:       1,
35684		clobberFlags: true,
35685		asm:          s390x.ACGEBRA,
35686		reg: regInfo{
35687			inputs: []inputInfo{
35688				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
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:         "CEFBRA",
35697		argLen:       1,
35698		clobberFlags: true,
35699		asm:          s390x.ACEFBRA,
35700		reg: regInfo{
35701			inputs: []inputInfo{
35702				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35703			},
35704			outputs: []outputInfo{
35705				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35706			},
35707		},
35708	},
35709	{
35710		name:         "CDFBRA",
35711		argLen:       1,
35712		clobberFlags: true,
35713		asm:          s390x.ACDFBRA,
35714		reg: regInfo{
35715			inputs: []inputInfo{
35716				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35717			},
35718			outputs: []outputInfo{
35719				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35720			},
35721		},
35722	},
35723	{
35724		name:         "CEGBRA",
35725		argLen:       1,
35726		clobberFlags: true,
35727		asm:          s390x.ACEGBRA,
35728		reg: regInfo{
35729			inputs: []inputInfo{
35730				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35731			},
35732			outputs: []outputInfo{
35733				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35734			},
35735		},
35736	},
35737	{
35738		name:         "CDGBRA",
35739		argLen:       1,
35740		clobberFlags: true,
35741		asm:          s390x.ACDGBRA,
35742		reg: regInfo{
35743			inputs: []inputInfo{
35744				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35745			},
35746			outputs: []outputInfo{
35747				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35748			},
35749		},
35750	},
35751	{
35752		name:         "CLFEBR",
35753		argLen:       1,
35754		clobberFlags: true,
35755		asm:          s390x.ACLFEBR,
35756		reg: regInfo{
35757			inputs: []inputInfo{
35758				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35759			},
35760			outputs: []outputInfo{
35761				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35762			},
35763		},
35764	},
35765	{
35766		name:         "CLFDBR",
35767		argLen:       1,
35768		clobberFlags: true,
35769		asm:          s390x.ACLFDBR,
35770		reg: regInfo{
35771			inputs: []inputInfo{
35772				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35773			},
35774			outputs: []outputInfo{
35775				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35776			},
35777		},
35778	},
35779	{
35780		name:         "CLGEBR",
35781		argLen:       1,
35782		clobberFlags: true,
35783		asm:          s390x.ACLGEBR,
35784		reg: regInfo{
35785			inputs: []inputInfo{
35786				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35787			},
35788			outputs: []outputInfo{
35789				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35790			},
35791		},
35792	},
35793	{
35794		name:         "CLGDBR",
35795		argLen:       1,
35796		clobberFlags: true,
35797		asm:          s390x.ACLGDBR,
35798		reg: regInfo{
35799			inputs: []inputInfo{
35800				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35801			},
35802			outputs: []outputInfo{
35803				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35804			},
35805		},
35806	},
35807	{
35808		name:         "CELFBR",
35809		argLen:       1,
35810		clobberFlags: true,
35811		asm:          s390x.ACELFBR,
35812		reg: regInfo{
35813			inputs: []inputInfo{
35814				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35815			},
35816			outputs: []outputInfo{
35817				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35818			},
35819		},
35820	},
35821	{
35822		name:         "CDLFBR",
35823		argLen:       1,
35824		clobberFlags: true,
35825		asm:          s390x.ACDLFBR,
35826		reg: regInfo{
35827			inputs: []inputInfo{
35828				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35829			},
35830			outputs: []outputInfo{
35831				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35832			},
35833		},
35834	},
35835	{
35836		name:         "CELGBR",
35837		argLen:       1,
35838		clobberFlags: true,
35839		asm:          s390x.ACELGBR,
35840		reg: regInfo{
35841			inputs: []inputInfo{
35842				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35843			},
35844			outputs: []outputInfo{
35845				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35846			},
35847		},
35848	},
35849	{
35850		name:         "CDLGBR",
35851		argLen:       1,
35852		clobberFlags: true,
35853		asm:          s390x.ACDLGBR,
35854		reg: regInfo{
35855			inputs: []inputInfo{
35856				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35857			},
35858			outputs: []outputInfo{
35859				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35860			},
35861		},
35862	},
35863	{
35864		name:   "LEDBR",
35865		argLen: 1,
35866		asm:    s390x.ALEDBR,
35867		reg: regInfo{
35868			inputs: []inputInfo{
35869				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35870			},
35871			outputs: []outputInfo{
35872				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35873			},
35874		},
35875	},
35876	{
35877		name:   "LDEBR",
35878		argLen: 1,
35879		asm:    s390x.ALDEBR,
35880		reg: regInfo{
35881			inputs: []inputInfo{
35882				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35883			},
35884			outputs: []outputInfo{
35885				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
35886			},
35887		},
35888	},
35889	{
35890		name:              "MOVDaddr",
35891		auxType:           auxSymOff,
35892		argLen:            1,
35893		rematerializeable: true,
35894		symEffect:         SymAddr,
35895		reg: regInfo{
35896			inputs: []inputInfo{
35897				{0, 4295000064}, // 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:      "MOVDaddridx",
35906		auxType:   auxSymOff,
35907		argLen:    2,
35908		symEffect: SymAddr,
35909		reg: regInfo{
35910			inputs: []inputInfo{
35911				{0, 4295000064}, // SP SB
35912				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
35913			},
35914			outputs: []outputInfo{
35915				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35916			},
35917		},
35918	},
35919	{
35920		name:           "MOVBZload",
35921		auxType:        auxSymOff,
35922		argLen:         2,
35923		faultOnNilArg0: true,
35924		symEffect:      SymRead,
35925		asm:            s390x.AMOVBZ,
35926		reg: regInfo{
35927			inputs: []inputInfo{
35928				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35929			},
35930			outputs: []outputInfo{
35931				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35932			},
35933		},
35934	},
35935	{
35936		name:           "MOVBload",
35937		auxType:        auxSymOff,
35938		argLen:         2,
35939		faultOnNilArg0: true,
35940		symEffect:      SymRead,
35941		asm:            s390x.AMOVB,
35942		reg: regInfo{
35943			inputs: []inputInfo{
35944				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35945			},
35946			outputs: []outputInfo{
35947				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35948			},
35949		},
35950	},
35951	{
35952		name:           "MOVHZload",
35953		auxType:        auxSymOff,
35954		argLen:         2,
35955		faultOnNilArg0: true,
35956		symEffect:      SymRead,
35957		asm:            s390x.AMOVHZ,
35958		reg: regInfo{
35959			inputs: []inputInfo{
35960				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35961			},
35962			outputs: []outputInfo{
35963				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35964			},
35965		},
35966	},
35967	{
35968		name:           "MOVHload",
35969		auxType:        auxSymOff,
35970		argLen:         2,
35971		faultOnNilArg0: true,
35972		symEffect:      SymRead,
35973		asm:            s390x.AMOVH,
35974		reg: regInfo{
35975			inputs: []inputInfo{
35976				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35977			},
35978			outputs: []outputInfo{
35979				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35980			},
35981		},
35982	},
35983	{
35984		name:           "MOVWZload",
35985		auxType:        auxSymOff,
35986		argLen:         2,
35987		faultOnNilArg0: true,
35988		symEffect:      SymRead,
35989		asm:            s390x.AMOVWZ,
35990		reg: regInfo{
35991			inputs: []inputInfo{
35992				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
35993			},
35994			outputs: []outputInfo{
35995				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
35996			},
35997		},
35998	},
35999	{
36000		name:           "MOVWload",
36001		auxType:        auxSymOff,
36002		argLen:         2,
36003		faultOnNilArg0: true,
36004		symEffect:      SymRead,
36005		asm:            s390x.AMOVW,
36006		reg: regInfo{
36007			inputs: []inputInfo{
36008				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36009			},
36010			outputs: []outputInfo{
36011				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36012			},
36013		},
36014	},
36015	{
36016		name:           "MOVDload",
36017		auxType:        auxSymOff,
36018		argLen:         2,
36019		faultOnNilArg0: true,
36020		symEffect:      SymRead,
36021		asm:            s390x.AMOVD,
36022		reg: regInfo{
36023			inputs: []inputInfo{
36024				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36025			},
36026			outputs: []outputInfo{
36027				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36028			},
36029		},
36030	},
36031	{
36032		name:   "MOVWBR",
36033		argLen: 1,
36034		asm:    s390x.AMOVWBR,
36035		reg: regInfo{
36036			inputs: []inputInfo{
36037				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36038			},
36039			outputs: []outputInfo{
36040				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36041			},
36042		},
36043	},
36044	{
36045		name:   "MOVDBR",
36046		argLen: 1,
36047		asm:    s390x.AMOVDBR,
36048		reg: regInfo{
36049			inputs: []inputInfo{
36050				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36051			},
36052			outputs: []outputInfo{
36053				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36054			},
36055		},
36056	},
36057	{
36058		name:           "MOVHBRload",
36059		auxType:        auxSymOff,
36060		argLen:         2,
36061		faultOnNilArg0: true,
36062		symEffect:      SymRead,
36063		asm:            s390x.AMOVHBR,
36064		reg: regInfo{
36065			inputs: []inputInfo{
36066				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36067			},
36068			outputs: []outputInfo{
36069				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36070			},
36071		},
36072	},
36073	{
36074		name:           "MOVWBRload",
36075		auxType:        auxSymOff,
36076		argLen:         2,
36077		faultOnNilArg0: true,
36078		symEffect:      SymRead,
36079		asm:            s390x.AMOVWBR,
36080		reg: regInfo{
36081			inputs: []inputInfo{
36082				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36083			},
36084			outputs: []outputInfo{
36085				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36086			},
36087		},
36088	},
36089	{
36090		name:           "MOVDBRload",
36091		auxType:        auxSymOff,
36092		argLen:         2,
36093		faultOnNilArg0: true,
36094		symEffect:      SymRead,
36095		asm:            s390x.AMOVDBR,
36096		reg: regInfo{
36097			inputs: []inputInfo{
36098				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36099			},
36100			outputs: []outputInfo{
36101				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36102			},
36103		},
36104	},
36105	{
36106		name:           "MOVBstore",
36107		auxType:        auxSymOff,
36108		argLen:         3,
36109		faultOnNilArg0: true,
36110		symEffect:      SymWrite,
36111		asm:            s390x.AMOVB,
36112		reg: regInfo{
36113			inputs: []inputInfo{
36114				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36115				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36116			},
36117		},
36118	},
36119	{
36120		name:           "MOVHstore",
36121		auxType:        auxSymOff,
36122		argLen:         3,
36123		faultOnNilArg0: true,
36124		symEffect:      SymWrite,
36125		asm:            s390x.AMOVH,
36126		reg: regInfo{
36127			inputs: []inputInfo{
36128				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36129				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36130			},
36131		},
36132	},
36133	{
36134		name:           "MOVWstore",
36135		auxType:        auxSymOff,
36136		argLen:         3,
36137		faultOnNilArg0: true,
36138		symEffect:      SymWrite,
36139		asm:            s390x.AMOVW,
36140		reg: regInfo{
36141			inputs: []inputInfo{
36142				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36143				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36144			},
36145		},
36146	},
36147	{
36148		name:           "MOVDstore",
36149		auxType:        auxSymOff,
36150		argLen:         3,
36151		faultOnNilArg0: true,
36152		symEffect:      SymWrite,
36153		asm:            s390x.AMOVD,
36154		reg: regInfo{
36155			inputs: []inputInfo{
36156				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36157				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36158			},
36159		},
36160	},
36161	{
36162		name:           "MOVHBRstore",
36163		auxType:        auxSymOff,
36164		argLen:         3,
36165		faultOnNilArg0: true,
36166		symEffect:      SymWrite,
36167		asm:            s390x.AMOVHBR,
36168		reg: regInfo{
36169			inputs: []inputInfo{
36170				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36171				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36172			},
36173		},
36174	},
36175	{
36176		name:           "MOVWBRstore",
36177		auxType:        auxSymOff,
36178		argLen:         3,
36179		faultOnNilArg0: true,
36180		symEffect:      SymWrite,
36181		asm:            s390x.AMOVWBR,
36182		reg: regInfo{
36183			inputs: []inputInfo{
36184				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36185				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36186			},
36187		},
36188	},
36189	{
36190		name:           "MOVDBRstore",
36191		auxType:        auxSymOff,
36192		argLen:         3,
36193		faultOnNilArg0: true,
36194		symEffect:      SymWrite,
36195		asm:            s390x.AMOVDBR,
36196		reg: regInfo{
36197			inputs: []inputInfo{
36198				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36199				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36200			},
36201		},
36202	},
36203	{
36204		name:           "MVC",
36205		auxType:        auxSymValAndOff,
36206		argLen:         3,
36207		clobberFlags:   true,
36208		faultOnNilArg0: true,
36209		faultOnNilArg1: true,
36210		symEffect:      SymNone,
36211		asm:            s390x.AMVC,
36212		reg: regInfo{
36213			inputs: []inputInfo{
36214				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36215				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36216			},
36217		},
36218	},
36219	{
36220		name:        "MOVBZloadidx",
36221		auxType:     auxSymOff,
36222		argLen:      3,
36223		commutative: true,
36224		symEffect:   SymRead,
36225		asm:         s390x.AMOVBZ,
36226		reg: regInfo{
36227			inputs: []inputInfo{
36228				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36229				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36230			},
36231			outputs: []outputInfo{
36232				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36233			},
36234		},
36235	},
36236	{
36237		name:        "MOVBloadidx",
36238		auxType:     auxSymOff,
36239		argLen:      3,
36240		commutative: true,
36241		symEffect:   SymRead,
36242		asm:         s390x.AMOVB,
36243		reg: regInfo{
36244			inputs: []inputInfo{
36245				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36246				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36247			},
36248			outputs: []outputInfo{
36249				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36250			},
36251		},
36252	},
36253	{
36254		name:        "MOVHZloadidx",
36255		auxType:     auxSymOff,
36256		argLen:      3,
36257		commutative: true,
36258		symEffect:   SymRead,
36259		asm:         s390x.AMOVHZ,
36260		reg: regInfo{
36261			inputs: []inputInfo{
36262				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36263				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36264			},
36265			outputs: []outputInfo{
36266				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36267			},
36268		},
36269	},
36270	{
36271		name:        "MOVHloadidx",
36272		auxType:     auxSymOff,
36273		argLen:      3,
36274		commutative: true,
36275		symEffect:   SymRead,
36276		asm:         s390x.AMOVH,
36277		reg: regInfo{
36278			inputs: []inputInfo{
36279				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36280				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36281			},
36282			outputs: []outputInfo{
36283				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36284			},
36285		},
36286	},
36287	{
36288		name:        "MOVWZloadidx",
36289		auxType:     auxSymOff,
36290		argLen:      3,
36291		commutative: true,
36292		symEffect:   SymRead,
36293		asm:         s390x.AMOVWZ,
36294		reg: regInfo{
36295			inputs: []inputInfo{
36296				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36297				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36298			},
36299			outputs: []outputInfo{
36300				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36301			},
36302		},
36303	},
36304	{
36305		name:        "MOVWloadidx",
36306		auxType:     auxSymOff,
36307		argLen:      3,
36308		commutative: true,
36309		symEffect:   SymRead,
36310		asm:         s390x.AMOVW,
36311		reg: regInfo{
36312			inputs: []inputInfo{
36313				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36314				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36315			},
36316			outputs: []outputInfo{
36317				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36318			},
36319		},
36320	},
36321	{
36322		name:        "MOVDloadidx",
36323		auxType:     auxSymOff,
36324		argLen:      3,
36325		commutative: true,
36326		symEffect:   SymRead,
36327		asm:         s390x.AMOVD,
36328		reg: regInfo{
36329			inputs: []inputInfo{
36330				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36331				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36332			},
36333			outputs: []outputInfo{
36334				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36335			},
36336		},
36337	},
36338	{
36339		name:        "MOVHBRloadidx",
36340		auxType:     auxSymOff,
36341		argLen:      3,
36342		commutative: true,
36343		symEffect:   SymRead,
36344		asm:         s390x.AMOVHBR,
36345		reg: regInfo{
36346			inputs: []inputInfo{
36347				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36348				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36349			},
36350			outputs: []outputInfo{
36351				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36352			},
36353		},
36354	},
36355	{
36356		name:        "MOVWBRloadidx",
36357		auxType:     auxSymOff,
36358		argLen:      3,
36359		commutative: true,
36360		symEffect:   SymRead,
36361		asm:         s390x.AMOVWBR,
36362		reg: regInfo{
36363			inputs: []inputInfo{
36364				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36365				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36366			},
36367			outputs: []outputInfo{
36368				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36369			},
36370		},
36371	},
36372	{
36373		name:        "MOVDBRloadidx",
36374		auxType:     auxSymOff,
36375		argLen:      3,
36376		commutative: true,
36377		symEffect:   SymRead,
36378		asm:         s390x.AMOVDBR,
36379		reg: regInfo{
36380			inputs: []inputInfo{
36381				{1, 56318},      // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36382				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36383			},
36384			outputs: []outputInfo{
36385				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36386			},
36387		},
36388	},
36389	{
36390		name:        "MOVBstoreidx",
36391		auxType:     auxSymOff,
36392		argLen:      4,
36393		commutative: true,
36394		symEffect:   SymWrite,
36395		asm:         s390x.AMOVB,
36396		reg: regInfo{
36397			inputs: []inputInfo{
36398				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36399				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36400				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36401			},
36402		},
36403	},
36404	{
36405		name:        "MOVHstoreidx",
36406		auxType:     auxSymOff,
36407		argLen:      4,
36408		commutative: true,
36409		symEffect:   SymWrite,
36410		asm:         s390x.AMOVH,
36411		reg: regInfo{
36412			inputs: []inputInfo{
36413				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36414				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36415				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36416			},
36417		},
36418	},
36419	{
36420		name:        "MOVWstoreidx",
36421		auxType:     auxSymOff,
36422		argLen:      4,
36423		commutative: true,
36424		symEffect:   SymWrite,
36425		asm:         s390x.AMOVW,
36426		reg: regInfo{
36427			inputs: []inputInfo{
36428				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36429				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36430				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36431			},
36432		},
36433	},
36434	{
36435		name:        "MOVDstoreidx",
36436		auxType:     auxSymOff,
36437		argLen:      4,
36438		commutative: true,
36439		symEffect:   SymWrite,
36440		asm:         s390x.AMOVD,
36441		reg: regInfo{
36442			inputs: []inputInfo{
36443				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36444				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36445				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36446			},
36447		},
36448	},
36449	{
36450		name:        "MOVHBRstoreidx",
36451		auxType:     auxSymOff,
36452		argLen:      4,
36453		commutative: true,
36454		symEffect:   SymWrite,
36455		asm:         s390x.AMOVHBR,
36456		reg: regInfo{
36457			inputs: []inputInfo{
36458				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36459				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36460				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36461			},
36462		},
36463	},
36464	{
36465		name:        "MOVWBRstoreidx",
36466		auxType:     auxSymOff,
36467		argLen:      4,
36468		commutative: true,
36469		symEffect:   SymWrite,
36470		asm:         s390x.AMOVWBR,
36471		reg: regInfo{
36472			inputs: []inputInfo{
36473				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36474				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36475				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36476			},
36477		},
36478	},
36479	{
36480		name:        "MOVDBRstoreidx",
36481		auxType:     auxSymOff,
36482		argLen:      4,
36483		commutative: true,
36484		symEffect:   SymWrite,
36485		asm:         s390x.AMOVDBR,
36486		reg: regInfo{
36487			inputs: []inputInfo{
36488				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36489				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36490				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36491			},
36492		},
36493	},
36494	{
36495		name:           "MOVBstoreconst",
36496		auxType:        auxSymValAndOff,
36497		argLen:         2,
36498		faultOnNilArg0: true,
36499		symEffect:      SymWrite,
36500		asm:            s390x.AMOVB,
36501		reg: regInfo{
36502			inputs: []inputInfo{
36503				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36504			},
36505		},
36506	},
36507	{
36508		name:           "MOVHstoreconst",
36509		auxType:        auxSymValAndOff,
36510		argLen:         2,
36511		faultOnNilArg0: true,
36512		symEffect:      SymWrite,
36513		asm:            s390x.AMOVH,
36514		reg: regInfo{
36515			inputs: []inputInfo{
36516				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36517			},
36518		},
36519	},
36520	{
36521		name:           "MOVWstoreconst",
36522		auxType:        auxSymValAndOff,
36523		argLen:         2,
36524		faultOnNilArg0: true,
36525		symEffect:      SymWrite,
36526		asm:            s390x.AMOVW,
36527		reg: regInfo{
36528			inputs: []inputInfo{
36529				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36530			},
36531		},
36532	},
36533	{
36534		name:           "MOVDstoreconst",
36535		auxType:        auxSymValAndOff,
36536		argLen:         2,
36537		faultOnNilArg0: true,
36538		symEffect:      SymWrite,
36539		asm:            s390x.AMOVD,
36540		reg: regInfo{
36541			inputs: []inputInfo{
36542				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36543			},
36544		},
36545	},
36546	{
36547		name:           "CLEAR",
36548		auxType:        auxSymValAndOff,
36549		argLen:         2,
36550		clobberFlags:   true,
36551		faultOnNilArg0: true,
36552		symEffect:      SymWrite,
36553		asm:            s390x.ACLEAR,
36554		reg: regInfo{
36555			inputs: []inputInfo{
36556				{0, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36557			},
36558		},
36559	},
36560	{
36561		name:         "CALLstatic",
36562		auxType:      auxCallOff,
36563		argLen:       1,
36564		clobberFlags: true,
36565		call:         true,
36566		reg: regInfo{
36567			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
36568		},
36569	},
36570	{
36571		name:         "CALLtail",
36572		auxType:      auxCallOff,
36573		argLen:       1,
36574		clobberFlags: true,
36575		call:         true,
36576		tailCall:     true,
36577		reg: regInfo{
36578			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
36579		},
36580	},
36581	{
36582		name:         "CALLclosure",
36583		auxType:      auxCallOff,
36584		argLen:       3,
36585		clobberFlags: true,
36586		call:         true,
36587		reg: regInfo{
36588			inputs: []inputInfo{
36589				{1, 4096},  // R12
36590				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36591			},
36592			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
36593		},
36594	},
36595	{
36596		name:         "CALLinter",
36597		auxType:      auxCallOff,
36598		argLen:       2,
36599		clobberFlags: true,
36600		call:         true,
36601		reg: regInfo{
36602			inputs: []inputInfo{
36603				{0, 23550}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36604			},
36605			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
36606		},
36607	},
36608	{
36609		name:   "InvertFlags",
36610		argLen: 1,
36611		reg:    regInfo{},
36612	},
36613	{
36614		name:   "LoweredGetG",
36615		argLen: 1,
36616		reg: regInfo{
36617			outputs: []outputInfo{
36618				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36619			},
36620		},
36621	},
36622	{
36623		name:      "LoweredGetClosurePtr",
36624		argLen:    0,
36625		zeroWidth: true,
36626		reg: regInfo{
36627			outputs: []outputInfo{
36628				{0, 4096}, // R12
36629			},
36630		},
36631	},
36632	{
36633		name:              "LoweredGetCallerSP",
36634		argLen:            1,
36635		rematerializeable: true,
36636		reg: regInfo{
36637			outputs: []outputInfo{
36638				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36639			},
36640		},
36641	},
36642	{
36643		name:              "LoweredGetCallerPC",
36644		argLen:            0,
36645		rematerializeable: true,
36646		reg: regInfo{
36647			outputs: []outputInfo{
36648				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36649			},
36650		},
36651	},
36652	{
36653		name:           "LoweredNilCheck",
36654		argLen:         2,
36655		clobberFlags:   true,
36656		nilCheck:       true,
36657		faultOnNilArg0: true,
36658		reg: regInfo{
36659			inputs: []inputInfo{
36660				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36661			},
36662		},
36663	},
36664	{
36665		name:         "LoweredRound32F",
36666		argLen:       1,
36667		resultInArg0: true,
36668		zeroWidth:    true,
36669		reg: regInfo{
36670			inputs: []inputInfo{
36671				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36672			},
36673			outputs: []outputInfo{
36674				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36675			},
36676		},
36677	},
36678	{
36679		name:         "LoweredRound64F",
36680		argLen:       1,
36681		resultInArg0: true,
36682		zeroWidth:    true,
36683		reg: regInfo{
36684			inputs: []inputInfo{
36685				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36686			},
36687			outputs: []outputInfo{
36688				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36689			},
36690		},
36691	},
36692	{
36693		name:         "LoweredWB",
36694		auxType:      auxInt64,
36695		argLen:       1,
36696		clobberFlags: true,
36697		reg: regInfo{
36698			clobbers: 4294918146, // R1 R14 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
36699			outputs: []outputInfo{
36700				{0, 512}, // R9
36701			},
36702		},
36703	},
36704	{
36705		name:    "LoweredPanicBoundsA",
36706		auxType: auxInt64,
36707		argLen:  3,
36708		call:    true,
36709		reg: regInfo{
36710			inputs: []inputInfo{
36711				{0, 4}, // R2
36712				{1, 8}, // R3
36713			},
36714		},
36715	},
36716	{
36717		name:    "LoweredPanicBoundsB",
36718		auxType: auxInt64,
36719		argLen:  3,
36720		call:    true,
36721		reg: regInfo{
36722			inputs: []inputInfo{
36723				{0, 2}, // R1
36724				{1, 4}, // R2
36725			},
36726		},
36727	},
36728	{
36729		name:    "LoweredPanicBoundsC",
36730		auxType: auxInt64,
36731		argLen:  3,
36732		call:    true,
36733		reg: regInfo{
36734			inputs: []inputInfo{
36735				{0, 1}, // R0
36736				{1, 2}, // R1
36737			},
36738		},
36739	},
36740	{
36741		name:   "FlagEQ",
36742		argLen: 0,
36743		reg:    regInfo{},
36744	},
36745	{
36746		name:   "FlagLT",
36747		argLen: 0,
36748		reg:    regInfo{},
36749	},
36750	{
36751		name:   "FlagGT",
36752		argLen: 0,
36753		reg:    regInfo{},
36754	},
36755	{
36756		name:   "FlagOV",
36757		argLen: 0,
36758		reg:    regInfo{},
36759	},
36760	{
36761		name:   "SYNC",
36762		argLen: 1,
36763		asm:    s390x.ASYNC,
36764		reg:    regInfo{},
36765	},
36766	{
36767		name:           "MOVBZatomicload",
36768		auxType:        auxSymOff,
36769		argLen:         2,
36770		faultOnNilArg0: true,
36771		symEffect:      SymRead,
36772		asm:            s390x.AMOVBZ,
36773		reg: regInfo{
36774			inputs: []inputInfo{
36775				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36776			},
36777			outputs: []outputInfo{
36778				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36779			},
36780		},
36781	},
36782	{
36783		name:           "MOVWZatomicload",
36784		auxType:        auxSymOff,
36785		argLen:         2,
36786		faultOnNilArg0: true,
36787		symEffect:      SymRead,
36788		asm:            s390x.AMOVWZ,
36789		reg: regInfo{
36790			inputs: []inputInfo{
36791				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36792			},
36793			outputs: []outputInfo{
36794				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36795			},
36796		},
36797	},
36798	{
36799		name:           "MOVDatomicload",
36800		auxType:        auxSymOff,
36801		argLen:         2,
36802		faultOnNilArg0: true,
36803		symEffect:      SymRead,
36804		asm:            s390x.AMOVD,
36805		reg: regInfo{
36806			inputs: []inputInfo{
36807				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36808			},
36809			outputs: []outputInfo{
36810				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36811			},
36812		},
36813	},
36814	{
36815		name:           "MOVBatomicstore",
36816		auxType:        auxSymOff,
36817		argLen:         3,
36818		clobberFlags:   true,
36819		faultOnNilArg0: true,
36820		hasSideEffects: true,
36821		symEffect:      SymWrite,
36822		asm:            s390x.AMOVB,
36823		reg: regInfo{
36824			inputs: []inputInfo{
36825				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36826				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36827			},
36828		},
36829	},
36830	{
36831		name:           "MOVWatomicstore",
36832		auxType:        auxSymOff,
36833		argLen:         3,
36834		clobberFlags:   true,
36835		faultOnNilArg0: true,
36836		hasSideEffects: true,
36837		symEffect:      SymWrite,
36838		asm:            s390x.AMOVW,
36839		reg: regInfo{
36840			inputs: []inputInfo{
36841				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36842				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36843			},
36844		},
36845	},
36846	{
36847		name:           "MOVDatomicstore",
36848		auxType:        auxSymOff,
36849		argLen:         3,
36850		clobberFlags:   true,
36851		faultOnNilArg0: true,
36852		hasSideEffects: true,
36853		symEffect:      SymWrite,
36854		asm:            s390x.AMOVD,
36855		reg: regInfo{
36856			inputs: []inputInfo{
36857				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36858				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36859			},
36860		},
36861	},
36862	{
36863		name:           "LAA",
36864		auxType:        auxSymOff,
36865		argLen:         3,
36866		clobberFlags:   true,
36867		faultOnNilArg0: true,
36868		hasSideEffects: true,
36869		symEffect:      SymRdWr,
36870		asm:            s390x.ALAA,
36871		reg: regInfo{
36872			inputs: []inputInfo{
36873				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36874				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36875			},
36876			outputs: []outputInfo{
36877				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36878			},
36879		},
36880	},
36881	{
36882		name:           "LAAG",
36883		auxType:        auxSymOff,
36884		argLen:         3,
36885		clobberFlags:   true,
36886		faultOnNilArg0: true,
36887		hasSideEffects: true,
36888		symEffect:      SymRdWr,
36889		asm:            s390x.ALAAG,
36890		reg: regInfo{
36891			inputs: []inputInfo{
36892				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36893				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36894			},
36895			outputs: []outputInfo{
36896				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36897			},
36898		},
36899	},
36900	{
36901		name:   "AddTupleFirst32",
36902		argLen: 2,
36903		reg:    regInfo{},
36904	},
36905	{
36906		name:   "AddTupleFirst64",
36907		argLen: 2,
36908		reg:    regInfo{},
36909	},
36910	{
36911		name:           "LAN",
36912		argLen:         3,
36913		clobberFlags:   true,
36914		hasSideEffects: true,
36915		asm:            s390x.ALAN,
36916		reg: regInfo{
36917			inputs: []inputInfo{
36918				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36919				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36920			},
36921		},
36922	},
36923	{
36924		name:           "LANfloor",
36925		argLen:         3,
36926		clobberFlags:   true,
36927		hasSideEffects: true,
36928		asm:            s390x.ALAN,
36929		reg: regInfo{
36930			inputs: []inputInfo{
36931				{0, 2},     // R1
36932				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36933			},
36934			clobbers: 2, // R1
36935		},
36936	},
36937	{
36938		name:           "LAO",
36939		argLen:         3,
36940		clobberFlags:   true,
36941		hasSideEffects: true,
36942		asm:            s390x.ALAO,
36943		reg: regInfo{
36944			inputs: []inputInfo{
36945				{0, 4295023614}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP SB
36946				{1, 56319},      // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36947			},
36948		},
36949	},
36950	{
36951		name:           "LAOfloor",
36952		argLen:         3,
36953		clobberFlags:   true,
36954		hasSideEffects: true,
36955		asm:            s390x.ALAO,
36956		reg: regInfo{
36957			inputs: []inputInfo{
36958				{0, 2},     // R1
36959				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36960			},
36961			clobbers: 2, // R1
36962		},
36963	},
36964	{
36965		name:           "LoweredAtomicCas32",
36966		auxType:        auxSymOff,
36967		argLen:         4,
36968		clobberFlags:   true,
36969		faultOnNilArg0: true,
36970		hasSideEffects: true,
36971		symEffect:      SymRdWr,
36972		asm:            s390x.ACS,
36973		reg: regInfo{
36974			inputs: []inputInfo{
36975				{1, 1},     // R0
36976				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36977				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36978			},
36979			clobbers: 1, // R0
36980			outputs: []outputInfo{
36981				{1, 0},
36982				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
36983			},
36984		},
36985	},
36986	{
36987		name:           "LoweredAtomicCas64",
36988		auxType:        auxSymOff,
36989		argLen:         4,
36990		clobberFlags:   true,
36991		faultOnNilArg0: true,
36992		hasSideEffects: true,
36993		symEffect:      SymRdWr,
36994		asm:            s390x.ACSG,
36995		reg: regInfo{
36996			inputs: []inputInfo{
36997				{1, 1},     // R0
36998				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
36999				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37000			},
37001			clobbers: 1, // R0
37002			outputs: []outputInfo{
37003				{1, 0},
37004				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
37005			},
37006		},
37007	},
37008	{
37009		name:           "LoweredAtomicExchange32",
37010		auxType:        auxSymOff,
37011		argLen:         3,
37012		clobberFlags:   true,
37013		faultOnNilArg0: true,
37014		hasSideEffects: true,
37015		symEffect:      SymRdWr,
37016		asm:            s390x.ACS,
37017		reg: regInfo{
37018			inputs: []inputInfo{
37019				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37020				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37021			},
37022			outputs: []outputInfo{
37023				{1, 0},
37024				{0, 1}, // R0
37025			},
37026		},
37027	},
37028	{
37029		name:           "LoweredAtomicExchange64",
37030		auxType:        auxSymOff,
37031		argLen:         3,
37032		clobberFlags:   true,
37033		faultOnNilArg0: true,
37034		hasSideEffects: true,
37035		symEffect:      SymRdWr,
37036		asm:            s390x.ACSG,
37037		reg: regInfo{
37038			inputs: []inputInfo{
37039				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37040				{1, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37041			},
37042			outputs: []outputInfo{
37043				{1, 0},
37044				{0, 1}, // R0
37045			},
37046		},
37047	},
37048	{
37049		name:         "FLOGR",
37050		argLen:       1,
37051		clobberFlags: true,
37052		asm:          s390x.AFLOGR,
37053		reg: regInfo{
37054			inputs: []inputInfo{
37055				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
37056			},
37057			clobbers: 2, // R1
37058			outputs: []outputInfo{
37059				{0, 1}, // R0
37060			},
37061		},
37062	},
37063	{
37064		name:         "POPCNT",
37065		argLen:       1,
37066		clobberFlags: true,
37067		asm:          s390x.APOPCNT,
37068		reg: regInfo{
37069			inputs: []inputInfo{
37070				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
37071			},
37072			outputs: []outputInfo{
37073				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
37074			},
37075		},
37076	},
37077	{
37078		name:   "MLGR",
37079		argLen: 2,
37080		asm:    s390x.AMLGR,
37081		reg: regInfo{
37082			inputs: []inputInfo{
37083				{1, 8},     // R3
37084				{0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
37085			},
37086			outputs: []outputInfo{
37087				{0, 4}, // R2
37088				{1, 8}, // R3
37089			},
37090		},
37091	},
37092	{
37093		name:   "SumBytes2",
37094		argLen: 1,
37095		reg:    regInfo{},
37096	},
37097	{
37098		name:   "SumBytes4",
37099		argLen: 1,
37100		reg:    regInfo{},
37101	},
37102	{
37103		name:   "SumBytes8",
37104		argLen: 1,
37105		reg:    regInfo{},
37106	},
37107	{
37108		name:           "STMG2",
37109		auxType:        auxSymOff,
37110		argLen:         4,
37111		clobberFlags:   true,
37112		faultOnNilArg0: true,
37113		symEffect:      SymWrite,
37114		asm:            s390x.ASTMG,
37115		reg: regInfo{
37116			inputs: []inputInfo{
37117				{1, 2},     // R1
37118				{2, 4},     // R2
37119				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37120			},
37121		},
37122	},
37123	{
37124		name:           "STMG3",
37125		auxType:        auxSymOff,
37126		argLen:         5,
37127		clobberFlags:   true,
37128		faultOnNilArg0: true,
37129		symEffect:      SymWrite,
37130		asm:            s390x.ASTMG,
37131		reg: regInfo{
37132			inputs: []inputInfo{
37133				{1, 2},     // R1
37134				{2, 4},     // R2
37135				{3, 8},     // R3
37136				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37137			},
37138		},
37139	},
37140	{
37141		name:           "STMG4",
37142		auxType:        auxSymOff,
37143		argLen:         6,
37144		clobberFlags:   true,
37145		faultOnNilArg0: true,
37146		symEffect:      SymWrite,
37147		asm:            s390x.ASTMG,
37148		reg: regInfo{
37149			inputs: []inputInfo{
37150				{1, 2},     // R1
37151				{2, 4},     // R2
37152				{3, 8},     // R3
37153				{4, 16},    // R4
37154				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37155			},
37156		},
37157	},
37158	{
37159		name:           "STM2",
37160		auxType:        auxSymOff,
37161		argLen:         4,
37162		clobberFlags:   true,
37163		faultOnNilArg0: true,
37164		symEffect:      SymWrite,
37165		asm:            s390x.ASTMY,
37166		reg: regInfo{
37167			inputs: []inputInfo{
37168				{1, 2},     // R1
37169				{2, 4},     // R2
37170				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37171			},
37172		},
37173	},
37174	{
37175		name:           "STM3",
37176		auxType:        auxSymOff,
37177		argLen:         5,
37178		clobberFlags:   true,
37179		faultOnNilArg0: true,
37180		symEffect:      SymWrite,
37181		asm:            s390x.ASTMY,
37182		reg: regInfo{
37183			inputs: []inputInfo{
37184				{1, 2},     // R1
37185				{2, 4},     // R2
37186				{3, 8},     // R3
37187				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37188			},
37189		},
37190	},
37191	{
37192		name:           "STM4",
37193		auxType:        auxSymOff,
37194		argLen:         6,
37195		clobberFlags:   true,
37196		faultOnNilArg0: true,
37197		symEffect:      SymWrite,
37198		asm:            s390x.ASTMY,
37199		reg: regInfo{
37200			inputs: []inputInfo{
37201				{1, 2},     // R1
37202				{2, 4},     // R2
37203				{3, 8},     // R3
37204				{4, 16},    // R4
37205				{0, 56318}, // R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37206			},
37207		},
37208	},
37209	{
37210		name:           "LoweredMove",
37211		auxType:        auxInt64,
37212		argLen:         4,
37213		clobberFlags:   true,
37214		faultOnNilArg0: true,
37215		faultOnNilArg1: true,
37216		reg: regInfo{
37217			inputs: []inputInfo{
37218				{0, 2},     // R1
37219				{1, 4},     // R2
37220				{2, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37221			},
37222			clobbers: 6, // R1 R2
37223		},
37224	},
37225	{
37226		name:           "LoweredZero",
37227		auxType:        auxInt64,
37228		argLen:         3,
37229		clobberFlags:   true,
37230		faultOnNilArg0: true,
37231		reg: regInfo{
37232			inputs: []inputInfo{
37233				{0, 2},     // R1
37234				{1, 56319}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14 SP
37235			},
37236			clobbers: 2, // R1
37237		},
37238	},
37239
37240	{
37241		name:    "LoweredStaticCall",
37242		auxType: auxCallOff,
37243		argLen:  1,
37244		call:    true,
37245		reg: regInfo{
37246			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
37247		},
37248	},
37249	{
37250		name:     "LoweredTailCall",
37251		auxType:  auxCallOff,
37252		argLen:   1,
37253		call:     true,
37254		tailCall: true,
37255		reg: regInfo{
37256			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
37257		},
37258	},
37259	{
37260		name:    "LoweredClosureCall",
37261		auxType: auxCallOff,
37262		argLen:  3,
37263		call:    true,
37264		reg: regInfo{
37265			inputs: []inputInfo{
37266				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37267				{1, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37268			},
37269			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
37270		},
37271	},
37272	{
37273		name:    "LoweredInterCall",
37274		auxType: auxCallOff,
37275		argLen:  2,
37276		call:    true,
37277		reg: regInfo{
37278			inputs: []inputInfo{
37279				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37280			},
37281			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
37282		},
37283	},
37284	{
37285		name:              "LoweredAddr",
37286		auxType:           auxSymOff,
37287		argLen:            1,
37288		rematerializeable: true,
37289		symEffect:         SymAddr,
37290		reg: regInfo{
37291			inputs: []inputInfo{
37292				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37293			},
37294			outputs: []outputInfo{
37295				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37296			},
37297		},
37298	},
37299	{
37300		name:    "LoweredMove",
37301		auxType: auxInt64,
37302		argLen:  3,
37303		reg: regInfo{
37304			inputs: []inputInfo{
37305				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37306				{1, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37307			},
37308		},
37309	},
37310	{
37311		name:    "LoweredZero",
37312		auxType: auxInt64,
37313		argLen:  2,
37314		reg: regInfo{
37315			inputs: []inputInfo{
37316				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37317			},
37318		},
37319	},
37320	{
37321		name:   "LoweredGetClosurePtr",
37322		argLen: 0,
37323		reg: regInfo{
37324			outputs: []outputInfo{
37325				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37326			},
37327		},
37328	},
37329	{
37330		name:              "LoweredGetCallerPC",
37331		argLen:            0,
37332		rematerializeable: true,
37333		reg: regInfo{
37334			outputs: []outputInfo{
37335				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37336			},
37337		},
37338	},
37339	{
37340		name:              "LoweredGetCallerSP",
37341		argLen:            1,
37342		rematerializeable: true,
37343		reg: regInfo{
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:           "LoweredNilCheck",
37351		argLen:         2,
37352		nilCheck:       true,
37353		faultOnNilArg0: true,
37354		reg: regInfo{
37355			inputs: []inputInfo{
37356				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37357			},
37358		},
37359	},
37360	{
37361		name:    "LoweredWB",
37362		auxType: auxInt64,
37363		argLen:  1,
37364		reg: regInfo{
37365			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
37366			outputs: []outputInfo{
37367				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37368			},
37369		},
37370	},
37371	{
37372		name:   "LoweredConvert",
37373		argLen: 2,
37374		reg: regInfo{
37375			inputs: []inputInfo{
37376				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37377			},
37378			outputs: []outputInfo{
37379				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37380			},
37381		},
37382	},
37383	{
37384		name:   "Select",
37385		argLen: 3,
37386		asm:    wasm.ASelect,
37387		reg: regInfo{
37388			inputs: []inputInfo{
37389				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37390				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37391				{2, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37392			},
37393			outputs: []outputInfo{
37394				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37395			},
37396		},
37397	},
37398	{
37399		name:    "I64Load8U",
37400		auxType: auxInt64,
37401		argLen:  2,
37402		asm:     wasm.AI64Load8U,
37403		reg: regInfo{
37404			inputs: []inputInfo{
37405				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37406			},
37407			outputs: []outputInfo{
37408				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37409			},
37410		},
37411	},
37412	{
37413		name:    "I64Load8S",
37414		auxType: auxInt64,
37415		argLen:  2,
37416		asm:     wasm.AI64Load8S,
37417		reg: regInfo{
37418			inputs: []inputInfo{
37419				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37420			},
37421			outputs: []outputInfo{
37422				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37423			},
37424		},
37425	},
37426	{
37427		name:    "I64Load16U",
37428		auxType: auxInt64,
37429		argLen:  2,
37430		asm:     wasm.AI64Load16U,
37431		reg: regInfo{
37432			inputs: []inputInfo{
37433				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37434			},
37435			outputs: []outputInfo{
37436				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37437			},
37438		},
37439	},
37440	{
37441		name:    "I64Load16S",
37442		auxType: auxInt64,
37443		argLen:  2,
37444		asm:     wasm.AI64Load16S,
37445		reg: regInfo{
37446			inputs: []inputInfo{
37447				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37448			},
37449			outputs: []outputInfo{
37450				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37451			},
37452		},
37453	},
37454	{
37455		name:    "I64Load32U",
37456		auxType: auxInt64,
37457		argLen:  2,
37458		asm:     wasm.AI64Load32U,
37459		reg: regInfo{
37460			inputs: []inputInfo{
37461				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37462			},
37463			outputs: []outputInfo{
37464				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37465			},
37466		},
37467	},
37468	{
37469		name:    "I64Load32S",
37470		auxType: auxInt64,
37471		argLen:  2,
37472		asm:     wasm.AI64Load32S,
37473		reg: regInfo{
37474			inputs: []inputInfo{
37475				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37476			},
37477			outputs: []outputInfo{
37478				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37479			},
37480		},
37481	},
37482	{
37483		name:    "I64Load",
37484		auxType: auxInt64,
37485		argLen:  2,
37486		asm:     wasm.AI64Load,
37487		reg: regInfo{
37488			inputs: []inputInfo{
37489				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37490			},
37491			outputs: []outputInfo{
37492				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37493			},
37494		},
37495	},
37496	{
37497		name:    "I64Store8",
37498		auxType: auxInt64,
37499		argLen:  3,
37500		asm:     wasm.AI64Store8,
37501		reg: regInfo{
37502			inputs: []inputInfo{
37503				{1, 281474976776191},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37504				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37505			},
37506		},
37507	},
37508	{
37509		name:    "I64Store16",
37510		auxType: auxInt64,
37511		argLen:  3,
37512		asm:     wasm.AI64Store16,
37513		reg: regInfo{
37514			inputs: []inputInfo{
37515				{1, 281474976776191},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37516				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37517			},
37518		},
37519	},
37520	{
37521		name:    "I64Store32",
37522		auxType: auxInt64,
37523		argLen:  3,
37524		asm:     wasm.AI64Store32,
37525		reg: regInfo{
37526			inputs: []inputInfo{
37527				{1, 281474976776191},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37528				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37529			},
37530		},
37531	},
37532	{
37533		name:    "I64Store",
37534		auxType: auxInt64,
37535		argLen:  3,
37536		asm:     wasm.AI64Store,
37537		reg: regInfo{
37538			inputs: []inputInfo{
37539				{1, 281474976776191},  // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37540				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37541			},
37542		},
37543	},
37544	{
37545		name:    "F32Load",
37546		auxType: auxInt64,
37547		argLen:  2,
37548		asm:     wasm.AF32Load,
37549		reg: regInfo{
37550			inputs: []inputInfo{
37551				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37552			},
37553			outputs: []outputInfo{
37554				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37555			},
37556		},
37557	},
37558	{
37559		name:    "F64Load",
37560		auxType: auxInt64,
37561		argLen:  2,
37562		asm:     wasm.AF64Load,
37563		reg: regInfo{
37564			inputs: []inputInfo{
37565				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37566			},
37567			outputs: []outputInfo{
37568				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37569			},
37570		},
37571	},
37572	{
37573		name:    "F32Store",
37574		auxType: auxInt64,
37575		argLen:  3,
37576		asm:     wasm.AF32Store,
37577		reg: regInfo{
37578			inputs: []inputInfo{
37579				{1, 4294901760},       // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37580				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37581			},
37582		},
37583	},
37584	{
37585		name:    "F64Store",
37586		auxType: auxInt64,
37587		argLen:  3,
37588		asm:     wasm.AF64Store,
37589		reg: regInfo{
37590			inputs: []inputInfo{
37591				{1, 281470681743360},  // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37592				{0, 1407374883618815}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP SB
37593			},
37594		},
37595	},
37596	{
37597		name:              "I64Const",
37598		auxType:           auxInt64,
37599		argLen:            0,
37600		rematerializeable: true,
37601		reg: regInfo{
37602			outputs: []outputInfo{
37603				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37604			},
37605		},
37606	},
37607	{
37608		name:              "F32Const",
37609		auxType:           auxFloat32,
37610		argLen:            0,
37611		rematerializeable: true,
37612		reg: regInfo{
37613			outputs: []outputInfo{
37614				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37615			},
37616		},
37617	},
37618	{
37619		name:              "F64Const",
37620		auxType:           auxFloat64,
37621		argLen:            0,
37622		rematerializeable: true,
37623		reg: regInfo{
37624			outputs: []outputInfo{
37625				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37626			},
37627		},
37628	},
37629	{
37630		name:   "I64Eqz",
37631		argLen: 1,
37632		asm:    wasm.AI64Eqz,
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			},
37637			outputs: []outputInfo{
37638				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37639			},
37640		},
37641	},
37642	{
37643		name:   "I64Eq",
37644		argLen: 2,
37645		asm:    wasm.AI64Eq,
37646		reg: regInfo{
37647			inputs: []inputInfo{
37648				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37649				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37650			},
37651			outputs: []outputInfo{
37652				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37653			},
37654		},
37655	},
37656	{
37657		name:   "I64Ne",
37658		argLen: 2,
37659		asm:    wasm.AI64Ne,
37660		reg: regInfo{
37661			inputs: []inputInfo{
37662				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37663				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37664			},
37665			outputs: []outputInfo{
37666				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37667			},
37668		},
37669	},
37670	{
37671		name:   "I64LtS",
37672		argLen: 2,
37673		asm:    wasm.AI64LtS,
37674		reg: regInfo{
37675			inputs: []inputInfo{
37676				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37677				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37678			},
37679			outputs: []outputInfo{
37680				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37681			},
37682		},
37683	},
37684	{
37685		name:   "I64LtU",
37686		argLen: 2,
37687		asm:    wasm.AI64LtU,
37688		reg: regInfo{
37689			inputs: []inputInfo{
37690				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37691				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37692			},
37693			outputs: []outputInfo{
37694				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37695			},
37696		},
37697	},
37698	{
37699		name:   "I64GtS",
37700		argLen: 2,
37701		asm:    wasm.AI64GtS,
37702		reg: regInfo{
37703			inputs: []inputInfo{
37704				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37705				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37706			},
37707			outputs: []outputInfo{
37708				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37709			},
37710		},
37711	},
37712	{
37713		name:   "I64GtU",
37714		argLen: 2,
37715		asm:    wasm.AI64GtU,
37716		reg: regInfo{
37717			inputs: []inputInfo{
37718				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37719				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37720			},
37721			outputs: []outputInfo{
37722				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37723			},
37724		},
37725	},
37726	{
37727		name:   "I64LeS",
37728		argLen: 2,
37729		asm:    wasm.AI64LeS,
37730		reg: regInfo{
37731			inputs: []inputInfo{
37732				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37733				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37734			},
37735			outputs: []outputInfo{
37736				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37737			},
37738		},
37739	},
37740	{
37741		name:   "I64LeU",
37742		argLen: 2,
37743		asm:    wasm.AI64LeU,
37744		reg: regInfo{
37745			inputs: []inputInfo{
37746				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37747				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37748			},
37749			outputs: []outputInfo{
37750				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37751			},
37752		},
37753	},
37754	{
37755		name:   "I64GeS",
37756		argLen: 2,
37757		asm:    wasm.AI64GeS,
37758		reg: regInfo{
37759			inputs: []inputInfo{
37760				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37761				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37762			},
37763			outputs: []outputInfo{
37764				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37765			},
37766		},
37767	},
37768	{
37769		name:   "I64GeU",
37770		argLen: 2,
37771		asm:    wasm.AI64GeU,
37772		reg: regInfo{
37773			inputs: []inputInfo{
37774				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37775				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37776			},
37777			outputs: []outputInfo{
37778				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37779			},
37780		},
37781	},
37782	{
37783		name:   "F32Eq",
37784		argLen: 2,
37785		asm:    wasm.AF32Eq,
37786		reg: regInfo{
37787			inputs: []inputInfo{
37788				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37789				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37790			},
37791			outputs: []outputInfo{
37792				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37793			},
37794		},
37795	},
37796	{
37797		name:   "F32Ne",
37798		argLen: 2,
37799		asm:    wasm.AF32Ne,
37800		reg: regInfo{
37801			inputs: []inputInfo{
37802				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37803				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
37804			},
37805			outputs: []outputInfo{
37806				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37807			},
37808		},
37809	},
37810	{
37811		name:   "F32Lt",
37812		argLen: 2,
37813		asm:    wasm.AF32Lt,
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, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37821			},
37822		},
37823	},
37824	{
37825		name:   "F32Gt",
37826		argLen: 2,
37827		asm:    wasm.AF32Gt,
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, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37835			},
37836		},
37837	},
37838	{
37839		name:   "F32Le",
37840		argLen: 2,
37841		asm:    wasm.AF32Le,
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, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37849			},
37850		},
37851	},
37852	{
37853		name:   "F32Ge",
37854		argLen: 2,
37855		asm:    wasm.AF32Ge,
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, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37863			},
37864		},
37865	},
37866	{
37867		name:   "F64Eq",
37868		argLen: 2,
37869		asm:    wasm.AF64Eq,
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				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37874			},
37875			outputs: []outputInfo{
37876				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37877			},
37878		},
37879	},
37880	{
37881		name:   "F64Ne",
37882		argLen: 2,
37883		asm:    wasm.AF64Ne,
37884		reg: regInfo{
37885			inputs: []inputInfo{
37886				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37887				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37888			},
37889			outputs: []outputInfo{
37890				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37891			},
37892		},
37893	},
37894	{
37895		name:   "F64Lt",
37896		argLen: 2,
37897		asm:    wasm.AF64Lt,
37898		reg: regInfo{
37899			inputs: []inputInfo{
37900				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37901				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37902			},
37903			outputs: []outputInfo{
37904				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37905			},
37906		},
37907	},
37908	{
37909		name:   "F64Gt",
37910		argLen: 2,
37911		asm:    wasm.AF64Gt,
37912		reg: regInfo{
37913			inputs: []inputInfo{
37914				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37915				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37916			},
37917			outputs: []outputInfo{
37918				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37919			},
37920		},
37921	},
37922	{
37923		name:   "F64Le",
37924		argLen: 2,
37925		asm:    wasm.AF64Le,
37926		reg: regInfo{
37927			inputs: []inputInfo{
37928				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37929				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37930			},
37931			outputs: []outputInfo{
37932				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37933			},
37934		},
37935	},
37936	{
37937		name:   "F64Ge",
37938		argLen: 2,
37939		asm:    wasm.AF64Ge,
37940		reg: regInfo{
37941			inputs: []inputInfo{
37942				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37943				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
37944			},
37945			outputs: []outputInfo{
37946				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37947			},
37948		},
37949	},
37950	{
37951		name:   "I64Add",
37952		argLen: 2,
37953		asm:    wasm.AI64Add,
37954		reg: regInfo{
37955			inputs: []inputInfo{
37956				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37957				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37958			},
37959			outputs: []outputInfo{
37960				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37961			},
37962		},
37963	},
37964	{
37965		name:    "I64AddConst",
37966		auxType: auxInt64,
37967		argLen:  1,
37968		asm:     wasm.AI64Add,
37969		reg: regInfo{
37970			inputs: []inputInfo{
37971				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37972			},
37973			outputs: []outputInfo{
37974				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37975			},
37976		},
37977	},
37978	{
37979		name:   "I64Sub",
37980		argLen: 2,
37981		asm:    wasm.AI64Sub,
37982		reg: regInfo{
37983			inputs: []inputInfo{
37984				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37985				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37986			},
37987			outputs: []outputInfo{
37988				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
37989			},
37990		},
37991	},
37992	{
37993		name:   "I64Mul",
37994		argLen: 2,
37995		asm:    wasm.AI64Mul,
37996		reg: regInfo{
37997			inputs: []inputInfo{
37998				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
37999				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38000			},
38001			outputs: []outputInfo{
38002				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38003			},
38004		},
38005	},
38006	{
38007		name:   "I64DivS",
38008		argLen: 2,
38009		asm:    wasm.AI64DivS,
38010		reg: regInfo{
38011			inputs: []inputInfo{
38012				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38013				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38014			},
38015			outputs: []outputInfo{
38016				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38017			},
38018		},
38019	},
38020	{
38021		name:   "I64DivU",
38022		argLen: 2,
38023		asm:    wasm.AI64DivU,
38024		reg: regInfo{
38025			inputs: []inputInfo{
38026				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38027				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38028			},
38029			outputs: []outputInfo{
38030				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38031			},
38032		},
38033	},
38034	{
38035		name:   "I64RemS",
38036		argLen: 2,
38037		asm:    wasm.AI64RemS,
38038		reg: regInfo{
38039			inputs: []inputInfo{
38040				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38041				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38042			},
38043			outputs: []outputInfo{
38044				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38045			},
38046		},
38047	},
38048	{
38049		name:   "I64RemU",
38050		argLen: 2,
38051		asm:    wasm.AI64RemU,
38052		reg: regInfo{
38053			inputs: []inputInfo{
38054				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38055				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38056			},
38057			outputs: []outputInfo{
38058				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38059			},
38060		},
38061	},
38062	{
38063		name:   "I64And",
38064		argLen: 2,
38065		asm:    wasm.AI64And,
38066		reg: regInfo{
38067			inputs: []inputInfo{
38068				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38069				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38070			},
38071			outputs: []outputInfo{
38072				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38073			},
38074		},
38075	},
38076	{
38077		name:   "I64Or",
38078		argLen: 2,
38079		asm:    wasm.AI64Or,
38080		reg: regInfo{
38081			inputs: []inputInfo{
38082				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38083				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38084			},
38085			outputs: []outputInfo{
38086				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38087			},
38088		},
38089	},
38090	{
38091		name:   "I64Xor",
38092		argLen: 2,
38093		asm:    wasm.AI64Xor,
38094		reg: regInfo{
38095			inputs: []inputInfo{
38096				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38097				{1, 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:   "I64Shl",
38106		argLen: 2,
38107		asm:    wasm.AI64Shl,
38108		reg: regInfo{
38109			inputs: []inputInfo{
38110				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38111				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38112			},
38113			outputs: []outputInfo{
38114				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38115			},
38116		},
38117	},
38118	{
38119		name:   "I64ShrS",
38120		argLen: 2,
38121		asm:    wasm.AI64ShrS,
38122		reg: regInfo{
38123			inputs: []inputInfo{
38124				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38125				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38126			},
38127			outputs: []outputInfo{
38128				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38129			},
38130		},
38131	},
38132	{
38133		name:   "I64ShrU",
38134		argLen: 2,
38135		asm:    wasm.AI64ShrU,
38136		reg: regInfo{
38137			inputs: []inputInfo{
38138				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38139				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38140			},
38141			outputs: []outputInfo{
38142				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38143			},
38144		},
38145	},
38146	{
38147		name:   "F32Neg",
38148		argLen: 1,
38149		asm:    wasm.AF32Neg,
38150		reg: regInfo{
38151			inputs: []inputInfo{
38152				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38153			},
38154			outputs: []outputInfo{
38155				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38156			},
38157		},
38158	},
38159	{
38160		name:   "F32Add",
38161		argLen: 2,
38162		asm:    wasm.AF32Add,
38163		reg: regInfo{
38164			inputs: []inputInfo{
38165				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38166				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38167			},
38168			outputs: []outputInfo{
38169				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38170			},
38171		},
38172	},
38173	{
38174		name:   "F32Sub",
38175		argLen: 2,
38176		asm:    wasm.AF32Sub,
38177		reg: regInfo{
38178			inputs: []inputInfo{
38179				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38180				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38181			},
38182			outputs: []outputInfo{
38183				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38184			},
38185		},
38186	},
38187	{
38188		name:   "F32Mul",
38189		argLen: 2,
38190		asm:    wasm.AF32Mul,
38191		reg: regInfo{
38192			inputs: []inputInfo{
38193				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38194				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38195			},
38196			outputs: []outputInfo{
38197				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38198			},
38199		},
38200	},
38201	{
38202		name:   "F32Div",
38203		argLen: 2,
38204		asm:    wasm.AF32Div,
38205		reg: regInfo{
38206			inputs: []inputInfo{
38207				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38208				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38209			},
38210			outputs: []outputInfo{
38211				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38212			},
38213		},
38214	},
38215	{
38216		name:   "F64Neg",
38217		argLen: 1,
38218		asm:    wasm.AF64Neg,
38219		reg: regInfo{
38220			inputs: []inputInfo{
38221				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38222			},
38223			outputs: []outputInfo{
38224				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38225			},
38226		},
38227	},
38228	{
38229		name:   "F64Add",
38230		argLen: 2,
38231		asm:    wasm.AF64Add,
38232		reg: regInfo{
38233			inputs: []inputInfo{
38234				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38235				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38236			},
38237			outputs: []outputInfo{
38238				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38239			},
38240		},
38241	},
38242	{
38243		name:   "F64Sub",
38244		argLen: 2,
38245		asm:    wasm.AF64Sub,
38246		reg: regInfo{
38247			inputs: []inputInfo{
38248				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38249				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38250			},
38251			outputs: []outputInfo{
38252				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38253			},
38254		},
38255	},
38256	{
38257		name:   "F64Mul",
38258		argLen: 2,
38259		asm:    wasm.AF64Mul,
38260		reg: regInfo{
38261			inputs: []inputInfo{
38262				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38263				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38264			},
38265			outputs: []outputInfo{
38266				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38267			},
38268		},
38269	},
38270	{
38271		name:   "F64Div",
38272		argLen: 2,
38273		asm:    wasm.AF64Div,
38274		reg: regInfo{
38275			inputs: []inputInfo{
38276				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38277				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38278			},
38279			outputs: []outputInfo{
38280				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38281			},
38282		},
38283	},
38284	{
38285		name:   "I64TruncSatF64S",
38286		argLen: 1,
38287		asm:    wasm.AI64TruncSatF64S,
38288		reg: regInfo{
38289			inputs: []inputInfo{
38290				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38291			},
38292			outputs: []outputInfo{
38293				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38294			},
38295		},
38296	},
38297	{
38298		name:   "I64TruncSatF64U",
38299		argLen: 1,
38300		asm:    wasm.AI64TruncSatF64U,
38301		reg: regInfo{
38302			inputs: []inputInfo{
38303				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38304			},
38305			outputs: []outputInfo{
38306				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38307			},
38308		},
38309	},
38310	{
38311		name:   "I64TruncSatF32S",
38312		argLen: 1,
38313		asm:    wasm.AI64TruncSatF32S,
38314		reg: regInfo{
38315			inputs: []inputInfo{
38316				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38317			},
38318			outputs: []outputInfo{
38319				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38320			},
38321		},
38322	},
38323	{
38324		name:   "I64TruncSatF32U",
38325		argLen: 1,
38326		asm:    wasm.AI64TruncSatF32U,
38327		reg: regInfo{
38328			inputs: []inputInfo{
38329				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38330			},
38331			outputs: []outputInfo{
38332				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38333			},
38334		},
38335	},
38336	{
38337		name:   "F32ConvertI64S",
38338		argLen: 1,
38339		asm:    wasm.AF32ConvertI64S,
38340		reg: regInfo{
38341			inputs: []inputInfo{
38342				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38343			},
38344			outputs: []outputInfo{
38345				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38346			},
38347		},
38348	},
38349	{
38350		name:   "F32ConvertI64U",
38351		argLen: 1,
38352		asm:    wasm.AF32ConvertI64U,
38353		reg: regInfo{
38354			inputs: []inputInfo{
38355				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38356			},
38357			outputs: []outputInfo{
38358				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38359			},
38360		},
38361	},
38362	{
38363		name:   "F64ConvertI64S",
38364		argLen: 1,
38365		asm:    wasm.AF64ConvertI64S,
38366		reg: regInfo{
38367			inputs: []inputInfo{
38368				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38369			},
38370			outputs: []outputInfo{
38371				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38372			},
38373		},
38374	},
38375	{
38376		name:   "F64ConvertI64U",
38377		argLen: 1,
38378		asm:    wasm.AF64ConvertI64U,
38379		reg: regInfo{
38380			inputs: []inputInfo{
38381				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38382			},
38383			outputs: []outputInfo{
38384				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38385			},
38386		},
38387	},
38388	{
38389		name:   "F32DemoteF64",
38390		argLen: 1,
38391		asm:    wasm.AF32DemoteF64,
38392		reg: regInfo{
38393			inputs: []inputInfo{
38394				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38395			},
38396			outputs: []outputInfo{
38397				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38398			},
38399		},
38400	},
38401	{
38402		name:   "F64PromoteF32",
38403		argLen: 1,
38404		asm:    wasm.AF64PromoteF32,
38405		reg: regInfo{
38406			inputs: []inputInfo{
38407				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38408			},
38409			outputs: []outputInfo{
38410				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38411			},
38412		},
38413	},
38414	{
38415		name:   "I64Extend8S",
38416		argLen: 1,
38417		asm:    wasm.AI64Extend8S,
38418		reg: regInfo{
38419			inputs: []inputInfo{
38420				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38421			},
38422			outputs: []outputInfo{
38423				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38424			},
38425		},
38426	},
38427	{
38428		name:   "I64Extend16S",
38429		argLen: 1,
38430		asm:    wasm.AI64Extend16S,
38431		reg: regInfo{
38432			inputs: []inputInfo{
38433				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38434			},
38435			outputs: []outputInfo{
38436				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38437			},
38438		},
38439	},
38440	{
38441		name:   "I64Extend32S",
38442		argLen: 1,
38443		asm:    wasm.AI64Extend32S,
38444		reg: regInfo{
38445			inputs: []inputInfo{
38446				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38447			},
38448			outputs: []outputInfo{
38449				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38450			},
38451		},
38452	},
38453	{
38454		name:   "F32Sqrt",
38455		argLen: 1,
38456		asm:    wasm.AF32Sqrt,
38457		reg: regInfo{
38458			inputs: []inputInfo{
38459				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38460			},
38461			outputs: []outputInfo{
38462				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38463			},
38464		},
38465	},
38466	{
38467		name:   "F32Trunc",
38468		argLen: 1,
38469		asm:    wasm.AF32Trunc,
38470		reg: regInfo{
38471			inputs: []inputInfo{
38472				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38473			},
38474			outputs: []outputInfo{
38475				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38476			},
38477		},
38478	},
38479	{
38480		name:   "F32Ceil",
38481		argLen: 1,
38482		asm:    wasm.AF32Ceil,
38483		reg: regInfo{
38484			inputs: []inputInfo{
38485				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38486			},
38487			outputs: []outputInfo{
38488				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38489			},
38490		},
38491	},
38492	{
38493		name:   "F32Floor",
38494		argLen: 1,
38495		asm:    wasm.AF32Floor,
38496		reg: regInfo{
38497			inputs: []inputInfo{
38498				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38499			},
38500			outputs: []outputInfo{
38501				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38502			},
38503		},
38504	},
38505	{
38506		name:   "F32Nearest",
38507		argLen: 1,
38508		asm:    wasm.AF32Nearest,
38509		reg: regInfo{
38510			inputs: []inputInfo{
38511				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38512			},
38513			outputs: []outputInfo{
38514				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38515			},
38516		},
38517	},
38518	{
38519		name:   "F32Abs",
38520		argLen: 1,
38521		asm:    wasm.AF32Abs,
38522		reg: regInfo{
38523			inputs: []inputInfo{
38524				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38525			},
38526			outputs: []outputInfo{
38527				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38528			},
38529		},
38530	},
38531	{
38532		name:   "F32Copysign",
38533		argLen: 2,
38534		asm:    wasm.AF32Copysign,
38535		reg: regInfo{
38536			inputs: []inputInfo{
38537				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38538				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38539			},
38540			outputs: []outputInfo{
38541				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
38542			},
38543		},
38544	},
38545	{
38546		name:   "F64Sqrt",
38547		argLen: 1,
38548		asm:    wasm.AF64Sqrt,
38549		reg: regInfo{
38550			inputs: []inputInfo{
38551				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38552			},
38553			outputs: []outputInfo{
38554				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38555			},
38556		},
38557	},
38558	{
38559		name:   "F64Trunc",
38560		argLen: 1,
38561		asm:    wasm.AF64Trunc,
38562		reg: regInfo{
38563			inputs: []inputInfo{
38564				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38565			},
38566			outputs: []outputInfo{
38567				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38568			},
38569		},
38570	},
38571	{
38572		name:   "F64Ceil",
38573		argLen: 1,
38574		asm:    wasm.AF64Ceil,
38575		reg: regInfo{
38576			inputs: []inputInfo{
38577				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38578			},
38579			outputs: []outputInfo{
38580				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38581			},
38582		},
38583	},
38584	{
38585		name:   "F64Floor",
38586		argLen: 1,
38587		asm:    wasm.AF64Floor,
38588		reg: regInfo{
38589			inputs: []inputInfo{
38590				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38591			},
38592			outputs: []outputInfo{
38593				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38594			},
38595		},
38596	},
38597	{
38598		name:   "F64Nearest",
38599		argLen: 1,
38600		asm:    wasm.AF64Nearest,
38601		reg: regInfo{
38602			inputs: []inputInfo{
38603				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38604			},
38605			outputs: []outputInfo{
38606				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38607			},
38608		},
38609	},
38610	{
38611		name:   "F64Abs",
38612		argLen: 1,
38613		asm:    wasm.AF64Abs,
38614		reg: regInfo{
38615			inputs: []inputInfo{
38616				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38617			},
38618			outputs: []outputInfo{
38619				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38620			},
38621		},
38622	},
38623	{
38624		name:   "F64Copysign",
38625		argLen: 2,
38626		asm:    wasm.AF64Copysign,
38627		reg: regInfo{
38628			inputs: []inputInfo{
38629				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38630				{1, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38631			},
38632			outputs: []outputInfo{
38633				{0, 281470681743360}, // F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
38634			},
38635		},
38636	},
38637	{
38638		name:   "I64Ctz",
38639		argLen: 1,
38640		asm:    wasm.AI64Ctz,
38641		reg: regInfo{
38642			inputs: []inputInfo{
38643				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38644			},
38645			outputs: []outputInfo{
38646				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38647			},
38648		},
38649	},
38650	{
38651		name:   "I64Clz",
38652		argLen: 1,
38653		asm:    wasm.AI64Clz,
38654		reg: regInfo{
38655			inputs: []inputInfo{
38656				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38657			},
38658			outputs: []outputInfo{
38659				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38660			},
38661		},
38662	},
38663	{
38664		name:   "I32Rotl",
38665		argLen: 2,
38666		asm:    wasm.AI32Rotl,
38667		reg: regInfo{
38668			inputs: []inputInfo{
38669				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38670				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38671			},
38672			outputs: []outputInfo{
38673				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38674			},
38675		},
38676	},
38677	{
38678		name:   "I64Rotl",
38679		argLen: 2,
38680		asm:    wasm.AI64Rotl,
38681		reg: regInfo{
38682			inputs: []inputInfo{
38683				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38684				{1, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38685			},
38686			outputs: []outputInfo{
38687				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38688			},
38689		},
38690	},
38691	{
38692		name:   "I64Popcnt",
38693		argLen: 1,
38694		asm:    wasm.AI64Popcnt,
38695		reg: regInfo{
38696			inputs: []inputInfo{
38697				{0, 281474976776191}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 SP
38698			},
38699			outputs: []outputInfo{
38700				{0, 65535}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
38701			},
38702		},
38703	},
38704
38705	{
38706		name:        "Add8",
38707		argLen:      2,
38708		commutative: true,
38709		generic:     true,
38710	},
38711	{
38712		name:        "Add16",
38713		argLen:      2,
38714		commutative: true,
38715		generic:     true,
38716	},
38717	{
38718		name:        "Add32",
38719		argLen:      2,
38720		commutative: true,
38721		generic:     true,
38722	},
38723	{
38724		name:        "Add64",
38725		argLen:      2,
38726		commutative: true,
38727		generic:     true,
38728	},
38729	{
38730		name:    "AddPtr",
38731		argLen:  2,
38732		generic: true,
38733	},
38734	{
38735		name:        "Add32F",
38736		argLen:      2,
38737		commutative: true,
38738		generic:     true,
38739	},
38740	{
38741		name:        "Add64F",
38742		argLen:      2,
38743		commutative: true,
38744		generic:     true,
38745	},
38746	{
38747		name:    "Sub8",
38748		argLen:  2,
38749		generic: true,
38750	},
38751	{
38752		name:    "Sub16",
38753		argLen:  2,
38754		generic: true,
38755	},
38756	{
38757		name:    "Sub32",
38758		argLen:  2,
38759		generic: true,
38760	},
38761	{
38762		name:    "Sub64",
38763		argLen:  2,
38764		generic: true,
38765	},
38766	{
38767		name:    "SubPtr",
38768		argLen:  2,
38769		generic: true,
38770	},
38771	{
38772		name:    "Sub32F",
38773		argLen:  2,
38774		generic: true,
38775	},
38776	{
38777		name:    "Sub64F",
38778		argLen:  2,
38779		generic: true,
38780	},
38781	{
38782		name:        "Mul8",
38783		argLen:      2,
38784		commutative: true,
38785		generic:     true,
38786	},
38787	{
38788		name:        "Mul16",
38789		argLen:      2,
38790		commutative: true,
38791		generic:     true,
38792	},
38793	{
38794		name:        "Mul32",
38795		argLen:      2,
38796		commutative: true,
38797		generic:     true,
38798	},
38799	{
38800		name:        "Mul64",
38801		argLen:      2,
38802		commutative: true,
38803		generic:     true,
38804	},
38805	{
38806		name:        "Mul32F",
38807		argLen:      2,
38808		commutative: true,
38809		generic:     true,
38810	},
38811	{
38812		name:        "Mul64F",
38813		argLen:      2,
38814		commutative: true,
38815		generic:     true,
38816	},
38817	{
38818		name:    "Div32F",
38819		argLen:  2,
38820		generic: true,
38821	},
38822	{
38823		name:    "Div64F",
38824		argLen:  2,
38825		generic: true,
38826	},
38827	{
38828		name:        "Hmul32",
38829		argLen:      2,
38830		commutative: true,
38831		generic:     true,
38832	},
38833	{
38834		name:        "Hmul32u",
38835		argLen:      2,
38836		commutative: true,
38837		generic:     true,
38838	},
38839	{
38840		name:        "Hmul64",
38841		argLen:      2,
38842		commutative: true,
38843		generic:     true,
38844	},
38845	{
38846		name:        "Hmul64u",
38847		argLen:      2,
38848		commutative: true,
38849		generic:     true,
38850	},
38851	{
38852		name:        "Mul32uhilo",
38853		argLen:      2,
38854		commutative: true,
38855		generic:     true,
38856	},
38857	{
38858		name:        "Mul64uhilo",
38859		argLen:      2,
38860		commutative: true,
38861		generic:     true,
38862	},
38863	{
38864		name:        "Mul32uover",
38865		argLen:      2,
38866		commutative: true,
38867		generic:     true,
38868	},
38869	{
38870		name:        "Mul64uover",
38871		argLen:      2,
38872		commutative: true,
38873		generic:     true,
38874	},
38875	{
38876		name:    "Avg32u",
38877		argLen:  2,
38878		generic: true,
38879	},
38880	{
38881		name:    "Avg64u",
38882		argLen:  2,
38883		generic: true,
38884	},
38885	{
38886		name:    "Div8",
38887		argLen:  2,
38888		generic: true,
38889	},
38890	{
38891		name:    "Div8u",
38892		argLen:  2,
38893		generic: true,
38894	},
38895	{
38896		name:    "Div16",
38897		auxType: auxBool,
38898		argLen:  2,
38899		generic: true,
38900	},
38901	{
38902		name:    "Div16u",
38903		argLen:  2,
38904		generic: true,
38905	},
38906	{
38907		name:    "Div32",
38908		auxType: auxBool,
38909		argLen:  2,
38910		generic: true,
38911	},
38912	{
38913		name:    "Div32u",
38914		argLen:  2,
38915		generic: true,
38916	},
38917	{
38918		name:    "Div64",
38919		auxType: auxBool,
38920		argLen:  2,
38921		generic: true,
38922	},
38923	{
38924		name:    "Div64u",
38925		argLen:  2,
38926		generic: true,
38927	},
38928	{
38929		name:    "Div128u",
38930		argLen:  3,
38931		generic: true,
38932	},
38933	{
38934		name:    "Mod8",
38935		argLen:  2,
38936		generic: true,
38937	},
38938	{
38939		name:    "Mod8u",
38940		argLen:  2,
38941		generic: true,
38942	},
38943	{
38944		name:    "Mod16",
38945		auxType: auxBool,
38946		argLen:  2,
38947		generic: true,
38948	},
38949	{
38950		name:    "Mod16u",
38951		argLen:  2,
38952		generic: true,
38953	},
38954	{
38955		name:    "Mod32",
38956		auxType: auxBool,
38957		argLen:  2,
38958		generic: true,
38959	},
38960	{
38961		name:    "Mod32u",
38962		argLen:  2,
38963		generic: true,
38964	},
38965	{
38966		name:    "Mod64",
38967		auxType: auxBool,
38968		argLen:  2,
38969		generic: true,
38970	},
38971	{
38972		name:    "Mod64u",
38973		argLen:  2,
38974		generic: true,
38975	},
38976	{
38977		name:        "And8",
38978		argLen:      2,
38979		commutative: true,
38980		generic:     true,
38981	},
38982	{
38983		name:        "And16",
38984		argLen:      2,
38985		commutative: true,
38986		generic:     true,
38987	},
38988	{
38989		name:        "And32",
38990		argLen:      2,
38991		commutative: true,
38992		generic:     true,
38993	},
38994	{
38995		name:        "And64",
38996		argLen:      2,
38997		commutative: true,
38998		generic:     true,
38999	},
39000	{
39001		name:        "Or8",
39002		argLen:      2,
39003		commutative: true,
39004		generic:     true,
39005	},
39006	{
39007		name:        "Or16",
39008		argLen:      2,
39009		commutative: true,
39010		generic:     true,
39011	},
39012	{
39013		name:        "Or32",
39014		argLen:      2,
39015		commutative: true,
39016		generic:     true,
39017	},
39018	{
39019		name:        "Or64",
39020		argLen:      2,
39021		commutative: true,
39022		generic:     true,
39023	},
39024	{
39025		name:        "Xor8",
39026		argLen:      2,
39027		commutative: true,
39028		generic:     true,
39029	},
39030	{
39031		name:        "Xor16",
39032		argLen:      2,
39033		commutative: true,
39034		generic:     true,
39035	},
39036	{
39037		name:        "Xor32",
39038		argLen:      2,
39039		commutative: true,
39040		generic:     true,
39041	},
39042	{
39043		name:        "Xor64",
39044		argLen:      2,
39045		commutative: true,
39046		generic:     true,
39047	},
39048	{
39049		name:    "Lsh8x8",
39050		auxType: auxBool,
39051		argLen:  2,
39052		generic: true,
39053	},
39054	{
39055		name:    "Lsh8x16",
39056		auxType: auxBool,
39057		argLen:  2,
39058		generic: true,
39059	},
39060	{
39061		name:    "Lsh8x32",
39062		auxType: auxBool,
39063		argLen:  2,
39064		generic: true,
39065	},
39066	{
39067		name:    "Lsh8x64",
39068		auxType: auxBool,
39069		argLen:  2,
39070		generic: true,
39071	},
39072	{
39073		name:    "Lsh16x8",
39074		auxType: auxBool,
39075		argLen:  2,
39076		generic: true,
39077	},
39078	{
39079		name:    "Lsh16x16",
39080		auxType: auxBool,
39081		argLen:  2,
39082		generic: true,
39083	},
39084	{
39085		name:    "Lsh16x32",
39086		auxType: auxBool,
39087		argLen:  2,
39088		generic: true,
39089	},
39090	{
39091		name:    "Lsh16x64",
39092		auxType: auxBool,
39093		argLen:  2,
39094		generic: true,
39095	},
39096	{
39097		name:    "Lsh32x8",
39098		auxType: auxBool,
39099		argLen:  2,
39100		generic: true,
39101	},
39102	{
39103		name:    "Lsh32x16",
39104		auxType: auxBool,
39105		argLen:  2,
39106		generic: true,
39107	},
39108	{
39109		name:    "Lsh32x32",
39110		auxType: auxBool,
39111		argLen:  2,
39112		generic: true,
39113	},
39114	{
39115		name:    "Lsh32x64",
39116		auxType: auxBool,
39117		argLen:  2,
39118		generic: true,
39119	},
39120	{
39121		name:    "Lsh64x8",
39122		auxType: auxBool,
39123		argLen:  2,
39124		generic: true,
39125	},
39126	{
39127		name:    "Lsh64x16",
39128		auxType: auxBool,
39129		argLen:  2,
39130		generic: true,
39131	},
39132	{
39133		name:    "Lsh64x32",
39134		auxType: auxBool,
39135		argLen:  2,
39136		generic: true,
39137	},
39138	{
39139		name:    "Lsh64x64",
39140		auxType: auxBool,
39141		argLen:  2,
39142		generic: true,
39143	},
39144	{
39145		name:    "Rsh8x8",
39146		auxType: auxBool,
39147		argLen:  2,
39148		generic: true,
39149	},
39150	{
39151		name:    "Rsh8x16",
39152		auxType: auxBool,
39153		argLen:  2,
39154		generic: true,
39155	},
39156	{
39157		name:    "Rsh8x32",
39158		auxType: auxBool,
39159		argLen:  2,
39160		generic: true,
39161	},
39162	{
39163		name:    "Rsh8x64",
39164		auxType: auxBool,
39165		argLen:  2,
39166		generic: true,
39167	},
39168	{
39169		name:    "Rsh16x8",
39170		auxType: auxBool,
39171		argLen:  2,
39172		generic: true,
39173	},
39174	{
39175		name:    "Rsh16x16",
39176		auxType: auxBool,
39177		argLen:  2,
39178		generic: true,
39179	},
39180	{
39181		name:    "Rsh16x32",
39182		auxType: auxBool,
39183		argLen:  2,
39184		generic: true,
39185	},
39186	{
39187		name:    "Rsh16x64",
39188		auxType: auxBool,
39189		argLen:  2,
39190		generic: true,
39191	},
39192	{
39193		name:    "Rsh32x8",
39194		auxType: auxBool,
39195		argLen:  2,
39196		generic: true,
39197	},
39198	{
39199		name:    "Rsh32x16",
39200		auxType: auxBool,
39201		argLen:  2,
39202		generic: true,
39203	},
39204	{
39205		name:    "Rsh32x32",
39206		auxType: auxBool,
39207		argLen:  2,
39208		generic: true,
39209	},
39210	{
39211		name:    "Rsh32x64",
39212		auxType: auxBool,
39213		argLen:  2,
39214		generic: true,
39215	},
39216	{
39217		name:    "Rsh64x8",
39218		auxType: auxBool,
39219		argLen:  2,
39220		generic: true,
39221	},
39222	{
39223		name:    "Rsh64x16",
39224		auxType: auxBool,
39225		argLen:  2,
39226		generic: true,
39227	},
39228	{
39229		name:    "Rsh64x32",
39230		auxType: auxBool,
39231		argLen:  2,
39232		generic: true,
39233	},
39234	{
39235		name:    "Rsh64x64",
39236		auxType: auxBool,
39237		argLen:  2,
39238		generic: true,
39239	},
39240	{
39241		name:    "Rsh8Ux8",
39242		auxType: auxBool,
39243		argLen:  2,
39244		generic: true,
39245	},
39246	{
39247		name:    "Rsh8Ux16",
39248		auxType: auxBool,
39249		argLen:  2,
39250		generic: true,
39251	},
39252	{
39253		name:    "Rsh8Ux32",
39254		auxType: auxBool,
39255		argLen:  2,
39256		generic: true,
39257	},
39258	{
39259		name:    "Rsh8Ux64",
39260		auxType: auxBool,
39261		argLen:  2,
39262		generic: true,
39263	},
39264	{
39265		name:    "Rsh16Ux8",
39266		auxType: auxBool,
39267		argLen:  2,
39268		generic: true,
39269	},
39270	{
39271		name:    "Rsh16Ux16",
39272		auxType: auxBool,
39273		argLen:  2,
39274		generic: true,
39275	},
39276	{
39277		name:    "Rsh16Ux32",
39278		auxType: auxBool,
39279		argLen:  2,
39280		generic: true,
39281	},
39282	{
39283		name:    "Rsh16Ux64",
39284		auxType: auxBool,
39285		argLen:  2,
39286		generic: true,
39287	},
39288	{
39289		name:    "Rsh32Ux8",
39290		auxType: auxBool,
39291		argLen:  2,
39292		generic: true,
39293	},
39294	{
39295		name:    "Rsh32Ux16",
39296		auxType: auxBool,
39297		argLen:  2,
39298		generic: true,
39299	},
39300	{
39301		name:    "Rsh32Ux32",
39302		auxType: auxBool,
39303		argLen:  2,
39304		generic: true,
39305	},
39306	{
39307		name:    "Rsh32Ux64",
39308		auxType: auxBool,
39309		argLen:  2,
39310		generic: true,
39311	},
39312	{
39313		name:    "Rsh64Ux8",
39314		auxType: auxBool,
39315		argLen:  2,
39316		generic: true,
39317	},
39318	{
39319		name:    "Rsh64Ux16",
39320		auxType: auxBool,
39321		argLen:  2,
39322		generic: true,
39323	},
39324	{
39325		name:    "Rsh64Ux32",
39326		auxType: auxBool,
39327		argLen:  2,
39328		generic: true,
39329	},
39330	{
39331		name:    "Rsh64Ux64",
39332		auxType: auxBool,
39333		argLen:  2,
39334		generic: true,
39335	},
39336	{
39337		name:        "Eq8",
39338		argLen:      2,
39339		commutative: true,
39340		generic:     true,
39341	},
39342	{
39343		name:        "Eq16",
39344		argLen:      2,
39345		commutative: true,
39346		generic:     true,
39347	},
39348	{
39349		name:        "Eq32",
39350		argLen:      2,
39351		commutative: true,
39352		generic:     true,
39353	},
39354	{
39355		name:        "Eq64",
39356		argLen:      2,
39357		commutative: true,
39358		generic:     true,
39359	},
39360	{
39361		name:        "EqPtr",
39362		argLen:      2,
39363		commutative: true,
39364		generic:     true,
39365	},
39366	{
39367		name:    "EqInter",
39368		argLen:  2,
39369		generic: true,
39370	},
39371	{
39372		name:    "EqSlice",
39373		argLen:  2,
39374		generic: true,
39375	},
39376	{
39377		name:        "Eq32F",
39378		argLen:      2,
39379		commutative: true,
39380		generic:     true,
39381	},
39382	{
39383		name:        "Eq64F",
39384		argLen:      2,
39385		commutative: true,
39386		generic:     true,
39387	},
39388	{
39389		name:        "Neq8",
39390		argLen:      2,
39391		commutative: true,
39392		generic:     true,
39393	},
39394	{
39395		name:        "Neq16",
39396		argLen:      2,
39397		commutative: true,
39398		generic:     true,
39399	},
39400	{
39401		name:        "Neq32",
39402		argLen:      2,
39403		commutative: true,
39404		generic:     true,
39405	},
39406	{
39407		name:        "Neq64",
39408		argLen:      2,
39409		commutative: true,
39410		generic:     true,
39411	},
39412	{
39413		name:        "NeqPtr",
39414		argLen:      2,
39415		commutative: true,
39416		generic:     true,
39417	},
39418	{
39419		name:    "NeqInter",
39420		argLen:  2,
39421		generic: true,
39422	},
39423	{
39424		name:    "NeqSlice",
39425		argLen:  2,
39426		generic: true,
39427	},
39428	{
39429		name:        "Neq32F",
39430		argLen:      2,
39431		commutative: true,
39432		generic:     true,
39433	},
39434	{
39435		name:        "Neq64F",
39436		argLen:      2,
39437		commutative: true,
39438		generic:     true,
39439	},
39440	{
39441		name:    "Less8",
39442		argLen:  2,
39443		generic: true,
39444	},
39445	{
39446		name:    "Less8U",
39447		argLen:  2,
39448		generic: true,
39449	},
39450	{
39451		name:    "Less16",
39452		argLen:  2,
39453		generic: true,
39454	},
39455	{
39456		name:    "Less16U",
39457		argLen:  2,
39458		generic: true,
39459	},
39460	{
39461		name:    "Less32",
39462		argLen:  2,
39463		generic: true,
39464	},
39465	{
39466		name:    "Less32U",
39467		argLen:  2,
39468		generic: true,
39469	},
39470	{
39471		name:    "Less64",
39472		argLen:  2,
39473		generic: true,
39474	},
39475	{
39476		name:    "Less64U",
39477		argLen:  2,
39478		generic: true,
39479	},
39480	{
39481		name:    "Less32F",
39482		argLen:  2,
39483		generic: true,
39484	},
39485	{
39486		name:    "Less64F",
39487		argLen:  2,
39488		generic: true,
39489	},
39490	{
39491		name:    "Leq8",
39492		argLen:  2,
39493		generic: true,
39494	},
39495	{
39496		name:    "Leq8U",
39497		argLen:  2,
39498		generic: true,
39499	},
39500	{
39501		name:    "Leq16",
39502		argLen:  2,
39503		generic: true,
39504	},
39505	{
39506		name:    "Leq16U",
39507		argLen:  2,
39508		generic: true,
39509	},
39510	{
39511		name:    "Leq32",
39512		argLen:  2,
39513		generic: true,
39514	},
39515	{
39516		name:    "Leq32U",
39517		argLen:  2,
39518		generic: true,
39519	},
39520	{
39521		name:    "Leq64",
39522		argLen:  2,
39523		generic: true,
39524	},
39525	{
39526		name:    "Leq64U",
39527		argLen:  2,
39528		generic: true,
39529	},
39530	{
39531		name:    "Leq32F",
39532		argLen:  2,
39533		generic: true,
39534	},
39535	{
39536		name:    "Leq64F",
39537		argLen:  2,
39538		generic: true,
39539	},
39540	{
39541		name:    "CondSelect",
39542		argLen:  3,
39543		generic: true,
39544	},
39545	{
39546		name:        "AndB",
39547		argLen:      2,
39548		commutative: true,
39549		generic:     true,
39550	},
39551	{
39552		name:        "OrB",
39553		argLen:      2,
39554		commutative: true,
39555		generic:     true,
39556	},
39557	{
39558		name:        "EqB",
39559		argLen:      2,
39560		commutative: true,
39561		generic:     true,
39562	},
39563	{
39564		name:        "NeqB",
39565		argLen:      2,
39566		commutative: true,
39567		generic:     true,
39568	},
39569	{
39570		name:    "Not",
39571		argLen:  1,
39572		generic: true,
39573	},
39574	{
39575		name:    "Neg8",
39576		argLen:  1,
39577		generic: true,
39578	},
39579	{
39580		name:    "Neg16",
39581		argLen:  1,
39582		generic: true,
39583	},
39584	{
39585		name:    "Neg32",
39586		argLen:  1,
39587		generic: true,
39588	},
39589	{
39590		name:    "Neg64",
39591		argLen:  1,
39592		generic: true,
39593	},
39594	{
39595		name:    "Neg32F",
39596		argLen:  1,
39597		generic: true,
39598	},
39599	{
39600		name:    "Neg64F",
39601		argLen:  1,
39602		generic: true,
39603	},
39604	{
39605		name:    "Com8",
39606		argLen:  1,
39607		generic: true,
39608	},
39609	{
39610		name:    "Com16",
39611		argLen:  1,
39612		generic: true,
39613	},
39614	{
39615		name:    "Com32",
39616		argLen:  1,
39617		generic: true,
39618	},
39619	{
39620		name:    "Com64",
39621		argLen:  1,
39622		generic: true,
39623	},
39624	{
39625		name:    "Ctz8",
39626		argLen:  1,
39627		generic: true,
39628	},
39629	{
39630		name:    "Ctz16",
39631		argLen:  1,
39632		generic: true,
39633	},
39634	{
39635		name:    "Ctz32",
39636		argLen:  1,
39637		generic: true,
39638	},
39639	{
39640		name:    "Ctz64",
39641		argLen:  1,
39642		generic: true,
39643	},
39644	{
39645		name:    "Ctz8NonZero",
39646		argLen:  1,
39647		generic: true,
39648	},
39649	{
39650		name:    "Ctz16NonZero",
39651		argLen:  1,
39652		generic: true,
39653	},
39654	{
39655		name:    "Ctz32NonZero",
39656		argLen:  1,
39657		generic: true,
39658	},
39659	{
39660		name:    "Ctz64NonZero",
39661		argLen:  1,
39662		generic: true,
39663	},
39664	{
39665		name:    "BitLen8",
39666		argLen:  1,
39667		generic: true,
39668	},
39669	{
39670		name:    "BitLen16",
39671		argLen:  1,
39672		generic: true,
39673	},
39674	{
39675		name:    "BitLen32",
39676		argLen:  1,
39677		generic: true,
39678	},
39679	{
39680		name:    "BitLen64",
39681		argLen:  1,
39682		generic: true,
39683	},
39684	{
39685		name:    "Bswap16",
39686		argLen:  1,
39687		generic: true,
39688	},
39689	{
39690		name:    "Bswap32",
39691		argLen:  1,
39692		generic: true,
39693	},
39694	{
39695		name:    "Bswap64",
39696		argLen:  1,
39697		generic: true,
39698	},
39699	{
39700		name:    "BitRev8",
39701		argLen:  1,
39702		generic: true,
39703	},
39704	{
39705		name:    "BitRev16",
39706		argLen:  1,
39707		generic: true,
39708	},
39709	{
39710		name:    "BitRev32",
39711		argLen:  1,
39712		generic: true,
39713	},
39714	{
39715		name:    "BitRev64",
39716		argLen:  1,
39717		generic: true,
39718	},
39719	{
39720		name:    "PopCount8",
39721		argLen:  1,
39722		generic: true,
39723	},
39724	{
39725		name:    "PopCount16",
39726		argLen:  1,
39727		generic: true,
39728	},
39729	{
39730		name:    "PopCount32",
39731		argLen:  1,
39732		generic: true,
39733	},
39734	{
39735		name:    "PopCount64",
39736		argLen:  1,
39737		generic: true,
39738	},
39739	{
39740		name:    "RotateLeft64",
39741		argLen:  2,
39742		generic: true,
39743	},
39744	{
39745		name:    "RotateLeft32",
39746		argLen:  2,
39747		generic: true,
39748	},
39749	{
39750		name:    "RotateLeft16",
39751		argLen:  2,
39752		generic: true,
39753	},
39754	{
39755		name:    "RotateLeft8",
39756		argLen:  2,
39757		generic: true,
39758	},
39759	{
39760		name:    "Sqrt",
39761		argLen:  1,
39762		generic: true,
39763	},
39764	{
39765		name:    "Sqrt32",
39766		argLen:  1,
39767		generic: true,
39768	},
39769	{
39770		name:    "Floor",
39771		argLen:  1,
39772		generic: true,
39773	},
39774	{
39775		name:    "Ceil",
39776		argLen:  1,
39777		generic: true,
39778	},
39779	{
39780		name:    "Trunc",
39781		argLen:  1,
39782		generic: true,
39783	},
39784	{
39785		name:    "Round",
39786		argLen:  1,
39787		generic: true,
39788	},
39789	{
39790		name:    "RoundToEven",
39791		argLen:  1,
39792		generic: true,
39793	},
39794	{
39795		name:    "Abs",
39796		argLen:  1,
39797		generic: true,
39798	},
39799	{
39800		name:    "Copysign",
39801		argLen:  2,
39802		generic: true,
39803	},
39804	{
39805		name:    "Min64F",
39806		argLen:  2,
39807		generic: true,
39808	},
39809	{
39810		name:    "Min32F",
39811		argLen:  2,
39812		generic: true,
39813	},
39814	{
39815		name:    "Max64F",
39816		argLen:  2,
39817		generic: true,
39818	},
39819	{
39820		name:    "Max32F",
39821		argLen:  2,
39822		generic: true,
39823	},
39824	{
39825		name:    "FMA",
39826		argLen:  3,
39827		generic: true,
39828	},
39829	{
39830		name:      "Phi",
39831		argLen:    -1,
39832		zeroWidth: true,
39833		generic:   true,
39834	},
39835	{
39836		name:    "Copy",
39837		argLen:  1,
39838		generic: true,
39839	},
39840	{
39841		name:         "Convert",
39842		argLen:       2,
39843		resultInArg0: true,
39844		zeroWidth:    true,
39845		generic:      true,
39846	},
39847	{
39848		name:    "ConstBool",
39849		auxType: auxBool,
39850		argLen:  0,
39851		generic: true,
39852	},
39853	{
39854		name:    "ConstString",
39855		auxType: auxString,
39856		argLen:  0,
39857		generic: true,
39858	},
39859	{
39860		name:    "ConstNil",
39861		argLen:  0,
39862		generic: true,
39863	},
39864	{
39865		name:    "Const8",
39866		auxType: auxInt8,
39867		argLen:  0,
39868		generic: true,
39869	},
39870	{
39871		name:    "Const16",
39872		auxType: auxInt16,
39873		argLen:  0,
39874		generic: true,
39875	},
39876	{
39877		name:    "Const32",
39878		auxType: auxInt32,
39879		argLen:  0,
39880		generic: true,
39881	},
39882	{
39883		name:    "Const64",
39884		auxType: auxInt64,
39885		argLen:  0,
39886		generic: true,
39887	},
39888	{
39889		name:    "Const32F",
39890		auxType: auxFloat32,
39891		argLen:  0,
39892		generic: true,
39893	},
39894	{
39895		name:    "Const64F",
39896		auxType: auxFloat64,
39897		argLen:  0,
39898		generic: true,
39899	},
39900	{
39901		name:    "ConstInterface",
39902		argLen:  0,
39903		generic: true,
39904	},
39905	{
39906		name:    "ConstSlice",
39907		argLen:  0,
39908		generic: true,
39909	},
39910	{
39911		name:      "InitMem",
39912		argLen:    0,
39913		zeroWidth: true,
39914		generic:   true,
39915	},
39916	{
39917		name:      "Arg",
39918		auxType:   auxSymOff,
39919		argLen:    0,
39920		zeroWidth: true,
39921		symEffect: SymRead,
39922		generic:   true,
39923	},
39924	{
39925		name:      "ArgIntReg",
39926		auxType:   auxNameOffsetInt8,
39927		argLen:    0,
39928		zeroWidth: true,
39929		generic:   true,
39930	},
39931	{
39932		name:      "ArgFloatReg",
39933		auxType:   auxNameOffsetInt8,
39934		argLen:    0,
39935		zeroWidth: true,
39936		generic:   true,
39937	},
39938	{
39939		name:      "Addr",
39940		auxType:   auxSym,
39941		argLen:    1,
39942		symEffect: SymAddr,
39943		generic:   true,
39944	},
39945	{
39946		name:      "LocalAddr",
39947		auxType:   auxSym,
39948		argLen:    2,
39949		symEffect: SymAddr,
39950		generic:   true,
39951	},
39952	{
39953		name:      "SP",
39954		argLen:    0,
39955		zeroWidth: true,
39956		generic:   true,
39957	},
39958	{
39959		name:      "SB",
39960		argLen:    0,
39961		zeroWidth: true,
39962		generic:   true,
39963	},
39964	{
39965		name:      "SPanchored",
39966		argLen:    2,
39967		zeroWidth: true,
39968		generic:   true,
39969	},
39970	{
39971		name:    "Load",
39972		argLen:  2,
39973		generic: true,
39974	},
39975	{
39976		name:    "Dereference",
39977		argLen:  2,
39978		generic: true,
39979	},
39980	{
39981		name:    "Store",
39982		auxType: auxTyp,
39983		argLen:  3,
39984		generic: true,
39985	},
39986	{
39987		name:    "Move",
39988		auxType: auxTypSize,
39989		argLen:  3,
39990		generic: true,
39991	},
39992	{
39993		name:    "Zero",
39994		auxType: auxTypSize,
39995		argLen:  2,
39996		generic: true,
39997	},
39998	{
39999		name:    "StoreWB",
40000		auxType: auxTyp,
40001		argLen:  3,
40002		generic: true,
40003	},
40004	{
40005		name:    "MoveWB",
40006		auxType: auxTypSize,
40007		argLen:  3,
40008		generic: true,
40009	},
40010	{
40011		name:    "ZeroWB",
40012		auxType: auxTypSize,
40013		argLen:  2,
40014		generic: true,
40015	},
40016	{
40017		name:    "WBend",
40018		argLen:  1,
40019		generic: true,
40020	},
40021	{
40022		name:    "WB",
40023		auxType: auxInt64,
40024		argLen:  1,
40025		generic: true,
40026	},
40027	{
40028		name:      "HasCPUFeature",
40029		auxType:   auxSym,
40030		argLen:    0,
40031		symEffect: SymNone,
40032		generic:   true,
40033	},
40034	{
40035		name:    "PanicBounds",
40036		auxType: auxInt64,
40037		argLen:  3,
40038		call:    true,
40039		generic: true,
40040	},
40041	{
40042		name:    "PanicExtend",
40043		auxType: auxInt64,
40044		argLen:  4,
40045		call:    true,
40046		generic: true,
40047	},
40048	{
40049		name:    "ClosureCall",
40050		auxType: auxCallOff,
40051		argLen:  -1,
40052		call:    true,
40053		generic: true,
40054	},
40055	{
40056		name:    "StaticCall",
40057		auxType: auxCallOff,
40058		argLen:  -1,
40059		call:    true,
40060		generic: true,
40061	},
40062	{
40063		name:    "InterCall",
40064		auxType: auxCallOff,
40065		argLen:  -1,
40066		call:    true,
40067		generic: true,
40068	},
40069	{
40070		name:    "TailCall",
40071		auxType: auxCallOff,
40072		argLen:  -1,
40073		call:    true,
40074		generic: true,
40075	},
40076	{
40077		name:    "ClosureLECall",
40078		auxType: auxCallOff,
40079		argLen:  -1,
40080		call:    true,
40081		generic: true,
40082	},
40083	{
40084		name:    "StaticLECall",
40085		auxType: auxCallOff,
40086		argLen:  -1,
40087		call:    true,
40088		generic: true,
40089	},
40090	{
40091		name:    "InterLECall",
40092		auxType: auxCallOff,
40093		argLen:  -1,
40094		call:    true,
40095		generic: true,
40096	},
40097	{
40098		name:    "TailLECall",
40099		auxType: auxCallOff,
40100		argLen:  -1,
40101		call:    true,
40102		generic: true,
40103	},
40104	{
40105		name:    "SignExt8to16",
40106		argLen:  1,
40107		generic: true,
40108	},
40109	{
40110		name:    "SignExt8to32",
40111		argLen:  1,
40112		generic: true,
40113	},
40114	{
40115		name:    "SignExt8to64",
40116		argLen:  1,
40117		generic: true,
40118	},
40119	{
40120		name:    "SignExt16to32",
40121		argLen:  1,
40122		generic: true,
40123	},
40124	{
40125		name:    "SignExt16to64",
40126		argLen:  1,
40127		generic: true,
40128	},
40129	{
40130		name:    "SignExt32to64",
40131		argLen:  1,
40132		generic: true,
40133	},
40134	{
40135		name:    "ZeroExt8to16",
40136		argLen:  1,
40137		generic: true,
40138	},
40139	{
40140		name:    "ZeroExt8to32",
40141		argLen:  1,
40142		generic: true,
40143	},
40144	{
40145		name:    "ZeroExt8to64",
40146		argLen:  1,
40147		generic: true,
40148	},
40149	{
40150		name:    "ZeroExt16to32",
40151		argLen:  1,
40152		generic: true,
40153	},
40154	{
40155		name:    "ZeroExt16to64",
40156		argLen:  1,
40157		generic: true,
40158	},
40159	{
40160		name:    "ZeroExt32to64",
40161		argLen:  1,
40162		generic: true,
40163	},
40164	{
40165		name:    "Trunc16to8",
40166		argLen:  1,
40167		generic: true,
40168	},
40169	{
40170		name:    "Trunc32to8",
40171		argLen:  1,
40172		generic: true,
40173	},
40174	{
40175		name:    "Trunc32to16",
40176		argLen:  1,
40177		generic: true,
40178	},
40179	{
40180		name:    "Trunc64to8",
40181		argLen:  1,
40182		generic: true,
40183	},
40184	{
40185		name:    "Trunc64to16",
40186		argLen:  1,
40187		generic: true,
40188	},
40189	{
40190		name:    "Trunc64to32",
40191		argLen:  1,
40192		generic: true,
40193	},
40194	{
40195		name:    "Cvt32to32F",
40196		argLen:  1,
40197		generic: true,
40198	},
40199	{
40200		name:    "Cvt32to64F",
40201		argLen:  1,
40202		generic: true,
40203	},
40204	{
40205		name:    "Cvt64to32F",
40206		argLen:  1,
40207		generic: true,
40208	},
40209	{
40210		name:    "Cvt64to64F",
40211		argLen:  1,
40212		generic: true,
40213	},
40214	{
40215		name:    "Cvt32Fto32",
40216		argLen:  1,
40217		generic: true,
40218	},
40219	{
40220		name:    "Cvt32Fto64",
40221		argLen:  1,
40222		generic: true,
40223	},
40224	{
40225		name:    "Cvt64Fto32",
40226		argLen:  1,
40227		generic: true,
40228	},
40229	{
40230		name:    "Cvt64Fto64",
40231		argLen:  1,
40232		generic: true,
40233	},
40234	{
40235		name:    "Cvt32Fto64F",
40236		argLen:  1,
40237		generic: true,
40238	},
40239	{
40240		name:    "Cvt64Fto32F",
40241		argLen:  1,
40242		generic: true,
40243	},
40244	{
40245		name:    "CvtBoolToUint8",
40246		argLen:  1,
40247		generic: true,
40248	},
40249	{
40250		name:    "Round32F",
40251		argLen:  1,
40252		generic: true,
40253	},
40254	{
40255		name:    "Round64F",
40256		argLen:  1,
40257		generic: true,
40258	},
40259	{
40260		name:    "IsNonNil",
40261		argLen:  1,
40262		generic: true,
40263	},
40264	{
40265		name:    "IsInBounds",
40266		argLen:  2,
40267		generic: true,
40268	},
40269	{
40270		name:    "IsSliceInBounds",
40271		argLen:  2,
40272		generic: true,
40273	},
40274	{
40275		name:     "NilCheck",
40276		argLen:   2,
40277		nilCheck: true,
40278		generic:  true,
40279	},
40280	{
40281		name:      "GetG",
40282		argLen:    1,
40283		zeroWidth: true,
40284		generic:   true,
40285	},
40286	{
40287		name:    "GetClosurePtr",
40288		argLen:  0,
40289		generic: true,
40290	},
40291	{
40292		name:    "GetCallerPC",
40293		argLen:  0,
40294		generic: true,
40295	},
40296	{
40297		name:    "GetCallerSP",
40298		argLen:  1,
40299		generic: true,
40300	},
40301	{
40302		name:    "PtrIndex",
40303		argLen:  2,
40304		generic: true,
40305	},
40306	{
40307		name:    "OffPtr",
40308		auxType: auxInt64,
40309		argLen:  1,
40310		generic: true,
40311	},
40312	{
40313		name:    "SliceMake",
40314		argLen:  3,
40315		generic: true,
40316	},
40317	{
40318		name:    "SlicePtr",
40319		argLen:  1,
40320		generic: true,
40321	},
40322	{
40323		name:    "SliceLen",
40324		argLen:  1,
40325		generic: true,
40326	},
40327	{
40328		name:    "SliceCap",
40329		argLen:  1,
40330		generic: true,
40331	},
40332	{
40333		name:    "SlicePtrUnchecked",
40334		argLen:  1,
40335		generic: true,
40336	},
40337	{
40338		name:    "ComplexMake",
40339		argLen:  2,
40340		generic: true,
40341	},
40342	{
40343		name:    "ComplexReal",
40344		argLen:  1,
40345		generic: true,
40346	},
40347	{
40348		name:    "ComplexImag",
40349		argLen:  1,
40350		generic: true,
40351	},
40352	{
40353		name:    "StringMake",
40354		argLen:  2,
40355		generic: true,
40356	},
40357	{
40358		name:    "StringPtr",
40359		argLen:  1,
40360		generic: true,
40361	},
40362	{
40363		name:    "StringLen",
40364		argLen:  1,
40365		generic: true,
40366	},
40367	{
40368		name:    "IMake",
40369		argLen:  2,
40370		generic: true,
40371	},
40372	{
40373		name:    "ITab",
40374		argLen:  1,
40375		generic: true,
40376	},
40377	{
40378		name:    "IData",
40379		argLen:  1,
40380		generic: true,
40381	},
40382	{
40383		name:    "StructMake0",
40384		argLen:  0,
40385		generic: true,
40386	},
40387	{
40388		name:    "StructMake1",
40389		argLen:  1,
40390		generic: true,
40391	},
40392	{
40393		name:    "StructMake2",
40394		argLen:  2,
40395		generic: true,
40396	},
40397	{
40398		name:    "StructMake3",
40399		argLen:  3,
40400		generic: true,
40401	},
40402	{
40403		name:    "StructMake4",
40404		argLen:  4,
40405		generic: true,
40406	},
40407	{
40408		name:    "StructSelect",
40409		auxType: auxInt64,
40410		argLen:  1,
40411		generic: true,
40412	},
40413	{
40414		name:    "ArrayMake0",
40415		argLen:  0,
40416		generic: true,
40417	},
40418	{
40419		name:    "ArrayMake1",
40420		argLen:  1,
40421		generic: true,
40422	},
40423	{
40424		name:    "ArraySelect",
40425		auxType: auxInt64,
40426		argLen:  1,
40427		generic: true,
40428	},
40429	{
40430		name:    "StoreReg",
40431		argLen:  1,
40432		generic: true,
40433	},
40434	{
40435		name:    "LoadReg",
40436		argLen:  1,
40437		generic: true,
40438	},
40439	{
40440		name:      "FwdRef",
40441		auxType:   auxSym,
40442		argLen:    0,
40443		symEffect: SymNone,
40444		generic:   true,
40445	},
40446	{
40447		name:    "Unknown",
40448		argLen:  0,
40449		generic: true,
40450	},
40451	{
40452		name:      "VarDef",
40453		auxType:   auxSym,
40454		argLen:    1,
40455		zeroWidth: true,
40456		symEffect: SymNone,
40457		generic:   true,
40458	},
40459	{
40460		name:      "VarLive",
40461		auxType:   auxSym,
40462		argLen:    1,
40463		zeroWidth: true,
40464		symEffect: SymRead,
40465		generic:   true,
40466	},
40467	{
40468		name:      "KeepAlive",
40469		argLen:    2,
40470		zeroWidth: true,
40471		generic:   true,
40472	},
40473	{
40474		name:    "InlMark",
40475		auxType: auxInt32,
40476		argLen:  1,
40477		generic: true,
40478	},
40479	{
40480		name:    "Int64Make",
40481		argLen:  2,
40482		generic: true,
40483	},
40484	{
40485		name:    "Int64Hi",
40486		argLen:  1,
40487		generic: true,
40488	},
40489	{
40490		name:    "Int64Lo",
40491		argLen:  1,
40492		generic: true,
40493	},
40494	{
40495		name:        "Add32carry",
40496		argLen:      2,
40497		commutative: true,
40498		generic:     true,
40499	},
40500	{
40501		name:        "Add32withcarry",
40502		argLen:      3,
40503		commutative: true,
40504		generic:     true,
40505	},
40506	{
40507		name:    "Sub32carry",
40508		argLen:  2,
40509		generic: true,
40510	},
40511	{
40512		name:    "Sub32withcarry",
40513		argLen:  3,
40514		generic: true,
40515	},
40516	{
40517		name:        "Add64carry",
40518		argLen:      3,
40519		commutative: true,
40520		generic:     true,
40521	},
40522	{
40523		name:    "Sub64borrow",
40524		argLen:  3,
40525		generic: true,
40526	},
40527	{
40528		name:    "Signmask",
40529		argLen:  1,
40530		generic: true,
40531	},
40532	{
40533		name:    "Zeromask",
40534		argLen:  1,
40535		generic: true,
40536	},
40537	{
40538		name:    "Slicemask",
40539		argLen:  1,
40540		generic: true,
40541	},
40542	{
40543		name:    "SpectreIndex",
40544		argLen:  2,
40545		generic: true,
40546	},
40547	{
40548		name:    "SpectreSliceIndex",
40549		argLen:  2,
40550		generic: true,
40551	},
40552	{
40553		name:    "Cvt32Uto32F",
40554		argLen:  1,
40555		generic: true,
40556	},
40557	{
40558		name:    "Cvt32Uto64F",
40559		argLen:  1,
40560		generic: true,
40561	},
40562	{
40563		name:    "Cvt32Fto32U",
40564		argLen:  1,
40565		generic: true,
40566	},
40567	{
40568		name:    "Cvt64Fto32U",
40569		argLen:  1,
40570		generic: true,
40571	},
40572	{
40573		name:    "Cvt64Uto32F",
40574		argLen:  1,
40575		generic: true,
40576	},
40577	{
40578		name:    "Cvt64Uto64F",
40579		argLen:  1,
40580		generic: true,
40581	},
40582	{
40583		name:    "Cvt32Fto64U",
40584		argLen:  1,
40585		generic: true,
40586	},
40587	{
40588		name:    "Cvt64Fto64U",
40589		argLen:  1,
40590		generic: true,
40591	},
40592	{
40593		name:      "Select0",
40594		argLen:    1,
40595		zeroWidth: true,
40596		generic:   true,
40597	},
40598	{
40599		name:      "Select1",
40600		argLen:    1,
40601		zeroWidth: true,
40602		generic:   true,
40603	},
40604	{
40605		name:    "SelectN",
40606		auxType: auxInt64,
40607		argLen:  1,
40608		generic: true,
40609	},
40610	{
40611		name:    "SelectNAddr",
40612		auxType: auxInt64,
40613		argLen:  1,
40614		generic: true,
40615	},
40616	{
40617		name:    "MakeResult",
40618		argLen:  -1,
40619		generic: true,
40620	},
40621	{
40622		name:    "AtomicLoad8",
40623		argLen:  2,
40624		generic: true,
40625	},
40626	{
40627		name:    "AtomicLoad32",
40628		argLen:  2,
40629		generic: true,
40630	},
40631	{
40632		name:    "AtomicLoad64",
40633		argLen:  2,
40634		generic: true,
40635	},
40636	{
40637		name:    "AtomicLoadPtr",
40638		argLen:  2,
40639		generic: true,
40640	},
40641	{
40642		name:    "AtomicLoadAcq32",
40643		argLen:  2,
40644		generic: true,
40645	},
40646	{
40647		name:    "AtomicLoadAcq64",
40648		argLen:  2,
40649		generic: true,
40650	},
40651	{
40652		name:           "AtomicStore8",
40653		argLen:         3,
40654		hasSideEffects: true,
40655		generic:        true,
40656	},
40657	{
40658		name:           "AtomicStore32",
40659		argLen:         3,
40660		hasSideEffects: true,
40661		generic:        true,
40662	},
40663	{
40664		name:           "AtomicStore64",
40665		argLen:         3,
40666		hasSideEffects: true,
40667		generic:        true,
40668	},
40669	{
40670		name:           "AtomicStorePtrNoWB",
40671		argLen:         3,
40672		hasSideEffects: true,
40673		generic:        true,
40674	},
40675	{
40676		name:           "AtomicStoreRel32",
40677		argLen:         3,
40678		hasSideEffects: true,
40679		generic:        true,
40680	},
40681	{
40682		name:           "AtomicStoreRel64",
40683		argLen:         3,
40684		hasSideEffects: true,
40685		generic:        true,
40686	},
40687	{
40688		name:           "AtomicExchange32",
40689		argLen:         3,
40690		hasSideEffects: true,
40691		generic:        true,
40692	},
40693	{
40694		name:           "AtomicExchange64",
40695		argLen:         3,
40696		hasSideEffects: true,
40697		generic:        true,
40698	},
40699	{
40700		name:           "AtomicAdd32",
40701		argLen:         3,
40702		hasSideEffects: true,
40703		generic:        true,
40704	},
40705	{
40706		name:           "AtomicAdd64",
40707		argLen:         3,
40708		hasSideEffects: true,
40709		generic:        true,
40710	},
40711	{
40712		name:           "AtomicCompareAndSwap32",
40713		argLen:         4,
40714		hasSideEffects: true,
40715		generic:        true,
40716	},
40717	{
40718		name:           "AtomicCompareAndSwap64",
40719		argLen:         4,
40720		hasSideEffects: true,
40721		generic:        true,
40722	},
40723	{
40724		name:           "AtomicCompareAndSwapRel32",
40725		argLen:         4,
40726		hasSideEffects: true,
40727		generic:        true,
40728	},
40729	{
40730		name:           "AtomicAnd8",
40731		argLen:         3,
40732		hasSideEffects: true,
40733		generic:        true,
40734	},
40735	{
40736		name:           "AtomicOr8",
40737		argLen:         3,
40738		hasSideEffects: true,
40739		generic:        true,
40740	},
40741	{
40742		name:           "AtomicAnd64",
40743		argLen:         3,
40744		hasSideEffects: true,
40745		generic:        true,
40746	},
40747	{
40748		name:           "AtomicAnd32",
40749		argLen:         3,
40750		hasSideEffects: true,
40751		generic:        true,
40752	},
40753	{
40754		name:           "AtomicOr64",
40755		argLen:         3,
40756		hasSideEffects: true,
40757		generic:        true,
40758	},
40759	{
40760		name:           "AtomicOr32",
40761		argLen:         3,
40762		hasSideEffects: true,
40763		generic:        true,
40764	},
40765	{
40766		name:           "AtomicAdd32Variant",
40767		argLen:         3,
40768		hasSideEffects: true,
40769		generic:        true,
40770	},
40771	{
40772		name:           "AtomicAdd64Variant",
40773		argLen:         3,
40774		hasSideEffects: true,
40775		generic:        true,
40776	},
40777	{
40778		name:           "AtomicExchange32Variant",
40779		argLen:         3,
40780		hasSideEffects: true,
40781		generic:        true,
40782	},
40783	{
40784		name:           "AtomicExchange64Variant",
40785		argLen:         3,
40786		hasSideEffects: true,
40787		generic:        true,
40788	},
40789	{
40790		name:           "AtomicCompareAndSwap32Variant",
40791		argLen:         4,
40792		hasSideEffects: true,
40793		generic:        true,
40794	},
40795	{
40796		name:           "AtomicCompareAndSwap64Variant",
40797		argLen:         4,
40798		hasSideEffects: true,
40799		generic:        true,
40800	},
40801	{
40802		name:           "AtomicAnd8Variant",
40803		argLen:         3,
40804		hasSideEffects: true,
40805		generic:        true,
40806	},
40807	{
40808		name:           "AtomicOr8Variant",
40809		argLen:         3,
40810		hasSideEffects: true,
40811		generic:        true,
40812	},
40813	{
40814		name:           "AtomicAnd64Variant",
40815		argLen:         3,
40816		hasSideEffects: true,
40817		generic:        true,
40818	},
40819	{
40820		name:           "AtomicOr64Variant",
40821		argLen:         3,
40822		hasSideEffects: true,
40823		generic:        true,
40824	},
40825	{
40826		name:           "AtomicAnd32Variant",
40827		argLen:         3,
40828		hasSideEffects: true,
40829		generic:        true,
40830	},
40831	{
40832		name:           "AtomicOr32Variant",
40833		argLen:         3,
40834		hasSideEffects: true,
40835		generic:        true,
40836	},
40837	{
40838		name:           "PubBarrier",
40839		argLen:         1,
40840		hasSideEffects: true,
40841		generic:        true,
40842	},
40843	{
40844		name:      "Clobber",
40845		auxType:   auxSymOff,
40846		argLen:    0,
40847		symEffect: SymNone,
40848		generic:   true,
40849	},
40850	{
40851		name:    "ClobberReg",
40852		argLen:  0,
40853		generic: true,
40854	},
40855	{
40856		name:           "PrefetchCache",
40857		argLen:         2,
40858		hasSideEffects: true,
40859		generic:        true,
40860	},
40861	{
40862		name:           "PrefetchCacheStreamed",
40863		argLen:         2,
40864		hasSideEffects: true,
40865		generic:        true,
40866	},
40867}
40868
40869func (o Op) Asm() obj.As          { return opcodeTable[o].asm }
40870func (o Op) Scale() int16         { return int16(opcodeTable[o].scale) }
40871func (o Op) String() string       { return opcodeTable[o].name }
40872func (o Op) SymEffect() SymEffect { return opcodeTable[o].symEffect }
40873func (o Op) IsCall() bool         { return opcodeTable[o].call }
40874func (o Op) IsTailCall() bool     { return opcodeTable[o].tailCall }
40875func (o Op) HasSideEffects() bool { return opcodeTable[o].hasSideEffects }
40876func (o Op) UnsafePoint() bool    { return opcodeTable[o].unsafePoint }
40877func (o Op) ResultInArg0() bool   { return opcodeTable[o].resultInArg0 }
40878
40879var registers386 = [...]Register{
40880	{0, x86.REG_AX, 0, "AX"},
40881	{1, x86.REG_CX, 1, "CX"},
40882	{2, x86.REG_DX, 2, "DX"},
40883	{3, x86.REG_BX, 3, "BX"},
40884	{4, x86.REGSP, -1, "SP"},
40885	{5, x86.REG_BP, 4, "BP"},
40886	{6, x86.REG_SI, 5, "SI"},
40887	{7, x86.REG_DI, 6, "DI"},
40888	{8, x86.REG_X0, -1, "X0"},
40889	{9, x86.REG_X1, -1, "X1"},
40890	{10, x86.REG_X2, -1, "X2"},
40891	{11, x86.REG_X3, -1, "X3"},
40892	{12, x86.REG_X4, -1, "X4"},
40893	{13, x86.REG_X5, -1, "X5"},
40894	{14, x86.REG_X6, -1, "X6"},
40895	{15, x86.REG_X7, -1, "X7"},
40896	{16, 0, -1, "SB"},
40897}
40898var paramIntReg386 = []int8(nil)
40899var paramFloatReg386 = []int8(nil)
40900var gpRegMask386 = regMask(239)
40901var fpRegMask386 = regMask(65280)
40902var specialRegMask386 = regMask(0)
40903var framepointerReg386 = int8(5)
40904var linkReg386 = int8(-1)
40905var registersAMD64 = [...]Register{
40906	{0, x86.REG_AX, 0, "AX"},
40907	{1, x86.REG_CX, 1, "CX"},
40908	{2, x86.REG_DX, 2, "DX"},
40909	{3, x86.REG_BX, 3, "BX"},
40910	{4, x86.REGSP, -1, "SP"},
40911	{5, x86.REG_BP, 4, "BP"},
40912	{6, x86.REG_SI, 5, "SI"},
40913	{7, x86.REG_DI, 6, "DI"},
40914	{8, x86.REG_R8, 7, "R8"},
40915	{9, x86.REG_R9, 8, "R9"},
40916	{10, x86.REG_R10, 9, "R10"},
40917	{11, x86.REG_R11, 10, "R11"},
40918	{12, x86.REG_R12, 11, "R12"},
40919	{13, x86.REG_R13, 12, "R13"},
40920	{14, x86.REGG, -1, "g"},
40921	{15, x86.REG_R15, 13, "R15"},
40922	{16, x86.REG_X0, -1, "X0"},
40923	{17, x86.REG_X1, -1, "X1"},
40924	{18, x86.REG_X2, -1, "X2"},
40925	{19, x86.REG_X3, -1, "X3"},
40926	{20, x86.REG_X4, -1, "X4"},
40927	{21, x86.REG_X5, -1, "X5"},
40928	{22, x86.REG_X6, -1, "X6"},
40929	{23, x86.REG_X7, -1, "X7"},
40930	{24, x86.REG_X8, -1, "X8"},
40931	{25, x86.REG_X9, -1, "X9"},
40932	{26, x86.REG_X10, -1, "X10"},
40933	{27, x86.REG_X11, -1, "X11"},
40934	{28, x86.REG_X12, -1, "X12"},
40935	{29, x86.REG_X13, -1, "X13"},
40936	{30, x86.REG_X14, -1, "X14"},
40937	{31, x86.REG_X15, -1, "X15"},
40938	{32, 0, -1, "SB"},
40939}
40940var paramIntRegAMD64 = []int8{0, 3, 1, 7, 6, 8, 9, 10, 11}
40941var paramFloatRegAMD64 = []int8{16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30}
40942var gpRegMaskAMD64 = regMask(49135)
40943var fpRegMaskAMD64 = regMask(2147418112)
40944var specialRegMaskAMD64 = regMask(2147483648)
40945var framepointerRegAMD64 = int8(5)
40946var linkRegAMD64 = int8(-1)
40947var registersARM = [...]Register{
40948	{0, arm.REG_R0, 0, "R0"},
40949	{1, arm.REG_R1, 1, "R1"},
40950	{2, arm.REG_R2, 2, "R2"},
40951	{3, arm.REG_R3, 3, "R3"},
40952	{4, arm.REG_R4, 4, "R4"},
40953	{5, arm.REG_R5, 5, "R5"},
40954	{6, arm.REG_R6, 6, "R6"},
40955	{7, arm.REG_R7, 7, "R7"},
40956	{8, arm.REG_R8, 8, "R8"},
40957	{9, arm.REG_R9, 9, "R9"},
40958	{10, arm.REGG, -1, "g"},
40959	{11, arm.REG_R11, -1, "R11"},
40960	{12, arm.REG_R12, 10, "R12"},
40961	{13, arm.REGSP, -1, "SP"},
40962	{14, arm.REG_R14, 11, "R14"},
40963	{15, arm.REG_R15, -1, "R15"},
40964	{16, arm.REG_F0, -1, "F0"},
40965	{17, arm.REG_F1, -1, "F1"},
40966	{18, arm.REG_F2, -1, "F2"},
40967	{19, arm.REG_F3, -1, "F3"},
40968	{20, arm.REG_F4, -1, "F4"},
40969	{21, arm.REG_F5, -1, "F5"},
40970	{22, arm.REG_F6, -1, "F6"},
40971	{23, arm.REG_F7, -1, "F7"},
40972	{24, arm.REG_F8, -1, "F8"},
40973	{25, arm.REG_F9, -1, "F9"},
40974	{26, arm.REG_F10, -1, "F10"},
40975	{27, arm.REG_F11, -1, "F11"},
40976	{28, arm.REG_F12, -1, "F12"},
40977	{29, arm.REG_F13, -1, "F13"},
40978	{30, arm.REG_F14, -1, "F14"},
40979	{31, arm.REG_F15, -1, "F15"},
40980	{32, 0, -1, "SB"},
40981}
40982var paramIntRegARM = []int8(nil)
40983var paramFloatRegARM = []int8(nil)
40984var gpRegMaskARM = regMask(21503)
40985var fpRegMaskARM = regMask(4294901760)
40986var specialRegMaskARM = regMask(0)
40987var framepointerRegARM = int8(-1)
40988var linkRegARM = int8(14)
40989var registersARM64 = [...]Register{
40990	{0, arm64.REG_R0, 0, "R0"},
40991	{1, arm64.REG_R1, 1, "R1"},
40992	{2, arm64.REG_R2, 2, "R2"},
40993	{3, arm64.REG_R3, 3, "R3"},
40994	{4, arm64.REG_R4, 4, "R4"},
40995	{5, arm64.REG_R5, 5, "R5"},
40996	{6, arm64.REG_R6, 6, "R6"},
40997	{7, arm64.REG_R7, 7, "R7"},
40998	{8, arm64.REG_R8, 8, "R8"},
40999	{9, arm64.REG_R9, 9, "R9"},
41000	{10, arm64.REG_R10, 10, "R10"},
41001	{11, arm64.REG_R11, 11, "R11"},
41002	{12, arm64.REG_R12, 12, "R12"},
41003	{13, arm64.REG_R13, 13, "R13"},
41004	{14, arm64.REG_R14, 14, "R14"},
41005	{15, arm64.REG_R15, 15, "R15"},
41006	{16, arm64.REG_R16, 16, "R16"},
41007	{17, arm64.REG_R17, 17, "R17"},
41008	{18, arm64.REG_R18, -1, "R18"},
41009	{19, arm64.REG_R19, 18, "R19"},
41010	{20, arm64.REG_R20, 19, "R20"},
41011	{21, arm64.REG_R21, 20, "R21"},
41012	{22, arm64.REG_R22, 21, "R22"},
41013	{23, arm64.REG_R23, 22, "R23"},
41014	{24, arm64.REG_R24, 23, "R24"},
41015	{25, arm64.REG_R25, 24, "R25"},
41016	{26, arm64.REG_R26, 25, "R26"},
41017	{27, arm64.REGG, -1, "g"},
41018	{28, arm64.REG_R29, -1, "R29"},
41019	{29, arm64.REG_R30, 26, "R30"},
41020	{30, arm64.REGSP, -1, "SP"},
41021	{31, arm64.REG_F0, -1, "F0"},
41022	{32, arm64.REG_F1, -1, "F1"},
41023	{33, arm64.REG_F2, -1, "F2"},
41024	{34, arm64.REG_F3, -1, "F3"},
41025	{35, arm64.REG_F4, -1, "F4"},
41026	{36, arm64.REG_F5, -1, "F5"},
41027	{37, arm64.REG_F6, -1, "F6"},
41028	{38, arm64.REG_F7, -1, "F7"},
41029	{39, arm64.REG_F8, -1, "F8"},
41030	{40, arm64.REG_F9, -1, "F9"},
41031	{41, arm64.REG_F10, -1, "F10"},
41032	{42, arm64.REG_F11, -1, "F11"},
41033	{43, arm64.REG_F12, -1, "F12"},
41034	{44, arm64.REG_F13, -1, "F13"},
41035	{45, arm64.REG_F14, -1, "F14"},
41036	{46, arm64.REG_F15, -1, "F15"},
41037	{47, arm64.REG_F16, -1, "F16"},
41038	{48, arm64.REG_F17, -1, "F17"},
41039	{49, arm64.REG_F18, -1, "F18"},
41040	{50, arm64.REG_F19, -1, "F19"},
41041	{51, arm64.REG_F20, -1, "F20"},
41042	{52, arm64.REG_F21, -1, "F21"},
41043	{53, arm64.REG_F22, -1, "F22"},
41044	{54, arm64.REG_F23, -1, "F23"},
41045	{55, arm64.REG_F24, -1, "F24"},
41046	{56, arm64.REG_F25, -1, "F25"},
41047	{57, arm64.REG_F26, -1, "F26"},
41048	{58, arm64.REG_F27, -1, "F27"},
41049	{59, arm64.REG_F28, -1, "F28"},
41050	{60, arm64.REG_F29, -1, "F29"},
41051	{61, arm64.REG_F30, -1, "F30"},
41052	{62, arm64.REG_F31, -1, "F31"},
41053	{63, 0, -1, "SB"},
41054}
41055var paramIntRegARM64 = []int8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
41056var paramFloatRegARM64 = []int8{31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46}
41057var gpRegMaskARM64 = regMask(670826495)
41058var fpRegMaskARM64 = regMask(9223372034707292160)
41059var specialRegMaskARM64 = regMask(0)
41060var framepointerRegARM64 = int8(-1)
41061var linkRegARM64 = int8(29)
41062var registersLOONG64 = [...]Register{
41063	{0, loong64.REG_R0, -1, "R0"},
41064	{1, loong64.REG_R1, -1, "R1"},
41065	{2, loong64.REGSP, -1, "SP"},
41066	{3, loong64.REG_R4, 0, "R4"},
41067	{4, loong64.REG_R5, 1, "R5"},
41068	{5, loong64.REG_R6, 2, "R6"},
41069	{6, loong64.REG_R7, 3, "R7"},
41070	{7, loong64.REG_R8, 4, "R8"},
41071	{8, loong64.REG_R9, 5, "R9"},
41072	{9, loong64.REG_R10, 6, "R10"},
41073	{10, loong64.REG_R11, 7, "R11"},
41074	{11, loong64.REG_R12, 8, "R12"},
41075	{12, loong64.REG_R13, 9, "R13"},
41076	{13, loong64.REG_R14, 10, "R14"},
41077	{14, loong64.REG_R15, 11, "R15"},
41078	{15, loong64.REG_R16, 12, "R16"},
41079	{16, loong64.REG_R17, 13, "R17"},
41080	{17, loong64.REG_R18, 14, "R18"},
41081	{18, loong64.REG_R19, 15, "R19"},
41082	{19, loong64.REG_R20, 16, "R20"},
41083	{20, loong64.REG_R21, 17, "R21"},
41084	{21, loong64.REGG, -1, "g"},
41085	{22, loong64.REG_R23, 18, "R23"},
41086	{23, loong64.REG_R24, 19, "R24"},
41087	{24, loong64.REG_R25, 20, "R25"},
41088	{25, loong64.REG_R26, 21, "R26"},
41089	{26, loong64.REG_R27, 22, "R27"},
41090	{27, loong64.REG_R28, 23, "R28"},
41091	{28, loong64.REG_R29, 24, "R29"},
41092	{29, loong64.REG_R31, 25, "R31"},
41093	{30, loong64.REG_F0, -1, "F0"},
41094	{31, loong64.REG_F1, -1, "F1"},
41095	{32, loong64.REG_F2, -1, "F2"},
41096	{33, loong64.REG_F3, -1, "F3"},
41097	{34, loong64.REG_F4, -1, "F4"},
41098	{35, loong64.REG_F5, -1, "F5"},
41099	{36, loong64.REG_F6, -1, "F6"},
41100	{37, loong64.REG_F7, -1, "F7"},
41101	{38, loong64.REG_F8, -1, "F8"},
41102	{39, loong64.REG_F9, -1, "F9"},
41103	{40, loong64.REG_F10, -1, "F10"},
41104	{41, loong64.REG_F11, -1, "F11"},
41105	{42, loong64.REG_F12, -1, "F12"},
41106	{43, loong64.REG_F13, -1, "F13"},
41107	{44, loong64.REG_F14, -1, "F14"},
41108	{45, loong64.REG_F15, -1, "F15"},
41109	{46, loong64.REG_F16, -1, "F16"},
41110	{47, loong64.REG_F17, -1, "F17"},
41111	{48, loong64.REG_F18, -1, "F18"},
41112	{49, loong64.REG_F19, -1, "F19"},
41113	{50, loong64.REG_F20, -1, "F20"},
41114	{51, loong64.REG_F21, -1, "F21"},
41115	{52, loong64.REG_F22, -1, "F22"},
41116	{53, loong64.REG_F23, -1, "F23"},
41117	{54, loong64.REG_F24, -1, "F24"},
41118	{55, loong64.REG_F25, -1, "F25"},
41119	{56, loong64.REG_F26, -1, "F26"},
41120	{57, loong64.REG_F27, -1, "F27"},
41121	{58, loong64.REG_F28, -1, "F28"},
41122	{59, loong64.REG_F29, -1, "F29"},
41123	{60, loong64.REG_F30, -1, "F30"},
41124	{61, loong64.REG_F31, -1, "F31"},
41125	{62, 0, -1, "SB"},
41126}
41127var paramIntRegLOONG64 = []int8{3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}
41128var paramFloatRegLOONG64 = []int8{30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45}
41129var gpRegMaskLOONG64 = regMask(1071644664)
41130var fpRegMaskLOONG64 = regMask(4611686017353646080)
41131var specialRegMaskLOONG64 = regMask(0)
41132var framepointerRegLOONG64 = int8(-1)
41133var linkRegLOONG64 = int8(1)
41134var registersMIPS = [...]Register{
41135	{0, mips.REG_R0, -1, "R0"},
41136	{1, mips.REG_R1, 0, "R1"},
41137	{2, mips.REG_R2, 1, "R2"},
41138	{3, mips.REG_R3, 2, "R3"},
41139	{4, mips.REG_R4, 3, "R4"},
41140	{5, mips.REG_R5, 4, "R5"},
41141	{6, mips.REG_R6, 5, "R6"},
41142	{7, mips.REG_R7, 6, "R7"},
41143	{8, mips.REG_R8, 7, "R8"},
41144	{9, mips.REG_R9, 8, "R9"},
41145	{10, mips.REG_R10, 9, "R10"},
41146	{11, mips.REG_R11, 10, "R11"},
41147	{12, mips.REG_R12, 11, "R12"},
41148	{13, mips.REG_R13, 12, "R13"},
41149	{14, mips.REG_R14, 13, "R14"},
41150	{15, mips.REG_R15, 14, "R15"},
41151	{16, mips.REG_R16, 15, "R16"},
41152	{17, mips.REG_R17, 16, "R17"},
41153	{18, mips.REG_R18, 17, "R18"},
41154	{19, mips.REG_R19, 18, "R19"},
41155	{20, mips.REG_R20, 19, "R20"},
41156	{21, mips.REG_R21, 20, "R21"},
41157	{22, mips.REG_R22, 21, "R22"},
41158	{23, mips.REG_R24, 22, "R24"},
41159	{24, mips.REG_R25, 23, "R25"},
41160	{25, mips.REG_R28, 24, "R28"},
41161	{26, mips.REGSP, -1, "SP"},
41162	{27, mips.REGG, -1, "g"},
41163	{28, mips.REG_R31, 25, "R31"},
41164	{29, mips.REG_F0, -1, "F0"},
41165	{30, mips.REG_F2, -1, "F2"},
41166	{31, mips.REG_F4, -1, "F4"},
41167	{32, mips.REG_F6, -1, "F6"},
41168	{33, mips.REG_F8, -1, "F8"},
41169	{34, mips.REG_F10, -1, "F10"},
41170	{35, mips.REG_F12, -1, "F12"},
41171	{36, mips.REG_F14, -1, "F14"},
41172	{37, mips.REG_F16, -1, "F16"},
41173	{38, mips.REG_F18, -1, "F18"},
41174	{39, mips.REG_F20, -1, "F20"},
41175	{40, mips.REG_F22, -1, "F22"},
41176	{41, mips.REG_F24, -1, "F24"},
41177	{42, mips.REG_F26, -1, "F26"},
41178	{43, mips.REG_F28, -1, "F28"},
41179	{44, mips.REG_F30, -1, "F30"},
41180	{45, mips.REG_HI, -1, "HI"},
41181	{46, mips.REG_LO, -1, "LO"},
41182	{47, 0, -1, "SB"},
41183}
41184var paramIntRegMIPS = []int8(nil)
41185var paramFloatRegMIPS = []int8(nil)
41186var gpRegMaskMIPS = regMask(335544318)
41187var fpRegMaskMIPS = regMask(35183835217920)
41188var specialRegMaskMIPS = regMask(105553116266496)
41189var framepointerRegMIPS = int8(-1)
41190var linkRegMIPS = int8(28)
41191var registersMIPS64 = [...]Register{
41192	{0, mips.REG_R0, -1, "R0"},
41193	{1, mips.REG_R1, 0, "R1"},
41194	{2, mips.REG_R2, 1, "R2"},
41195	{3, mips.REG_R3, 2, "R3"},
41196	{4, mips.REG_R4, 3, "R4"},
41197	{5, mips.REG_R5, 4, "R5"},
41198	{6, mips.REG_R6, 5, "R6"},
41199	{7, mips.REG_R7, 6, "R7"},
41200	{8, mips.REG_R8, 7, "R8"},
41201	{9, mips.REG_R9, 8, "R9"},
41202	{10, mips.REG_R10, 9, "R10"},
41203	{11, mips.REG_R11, 10, "R11"},
41204	{12, mips.REG_R12, 11, "R12"},
41205	{13, mips.REG_R13, 12, "R13"},
41206	{14, mips.REG_R14, 13, "R14"},
41207	{15, mips.REG_R15, 14, "R15"},
41208	{16, mips.REG_R16, 15, "R16"},
41209	{17, mips.REG_R17, 16, "R17"},
41210	{18, mips.REG_R18, 17, "R18"},
41211	{19, mips.REG_R19, 18, "R19"},
41212	{20, mips.REG_R20, 19, "R20"},
41213	{21, mips.REG_R21, 20, "R21"},
41214	{22, mips.REG_R22, 21, "R22"},
41215	{23, mips.REG_R24, 22, "R24"},
41216	{24, mips.REG_R25, 23, "R25"},
41217	{25, mips.REGSP, -1, "SP"},
41218	{26, mips.REGG, -1, "g"},
41219	{27, mips.REG_R31, 24, "R31"},
41220	{28, mips.REG_F0, -1, "F0"},
41221	{29, mips.REG_F1, -1, "F1"},
41222	{30, mips.REG_F2, -1, "F2"},
41223	{31, mips.REG_F3, -1, "F3"},
41224	{32, mips.REG_F4, -1, "F4"},
41225	{33, mips.REG_F5, -1, "F5"},
41226	{34, mips.REG_F6, -1, "F6"},
41227	{35, mips.REG_F7, -1, "F7"},
41228	{36, mips.REG_F8, -1, "F8"},
41229	{37, mips.REG_F9, -1, "F9"},
41230	{38, mips.REG_F10, -1, "F10"},
41231	{39, mips.REG_F11, -1, "F11"},
41232	{40, mips.REG_F12, -1, "F12"},
41233	{41, mips.REG_F13, -1, "F13"},
41234	{42, mips.REG_F14, -1, "F14"},
41235	{43, mips.REG_F15, -1, "F15"},
41236	{44, mips.REG_F16, -1, "F16"},
41237	{45, mips.REG_F17, -1, "F17"},
41238	{46, mips.REG_F18, -1, "F18"},
41239	{47, mips.REG_F19, -1, "F19"},
41240	{48, mips.REG_F20, -1, "F20"},
41241	{49, mips.REG_F21, -1, "F21"},
41242	{50, mips.REG_F22, -1, "F22"},
41243	{51, mips.REG_F23, -1, "F23"},
41244	{52, mips.REG_F24, -1, "F24"},
41245	{53, mips.REG_F25, -1, "F25"},
41246	{54, mips.REG_F26, -1, "F26"},
41247	{55, mips.REG_F27, -1, "F27"},
41248	{56, mips.REG_F28, -1, "F28"},
41249	{57, mips.REG_F29, -1, "F29"},
41250	{58, mips.REG_F30, -1, "F30"},
41251	{59, mips.REG_F31, -1, "F31"},
41252	{60, mips.REG_HI, -1, "HI"},
41253	{61, mips.REG_LO, -1, "LO"},
41254	{62, 0, -1, "SB"},
41255}
41256var paramIntRegMIPS64 = []int8(nil)
41257var paramFloatRegMIPS64 = []int8(nil)
41258var gpRegMaskMIPS64 = regMask(167772158)
41259var fpRegMaskMIPS64 = regMask(1152921504338411520)
41260var specialRegMaskMIPS64 = regMask(3458764513820540928)
41261var framepointerRegMIPS64 = int8(-1)
41262var linkRegMIPS64 = int8(27)
41263var registersPPC64 = [...]Register{
41264	{0, ppc64.REG_R0, -1, "R0"},
41265	{1, ppc64.REGSP, -1, "SP"},
41266	{2, 0, -1, "SB"},
41267	{3, ppc64.REG_R3, 0, "R3"},
41268	{4, ppc64.REG_R4, 1, "R4"},
41269	{5, ppc64.REG_R5, 2, "R5"},
41270	{6, ppc64.REG_R6, 3, "R6"},
41271	{7, ppc64.REG_R7, 4, "R7"},
41272	{8, ppc64.REG_R8, 5, "R8"},
41273	{9, ppc64.REG_R9, 6, "R9"},
41274	{10, ppc64.REG_R10, 7, "R10"},
41275	{11, ppc64.REG_R11, 8, "R11"},
41276	{12, ppc64.REG_R12, 9, "R12"},
41277	{13, ppc64.REG_R13, -1, "R13"},
41278	{14, ppc64.REG_R14, 10, "R14"},
41279	{15, ppc64.REG_R15, 11, "R15"},
41280	{16, ppc64.REG_R16, 12, "R16"},
41281	{17, ppc64.REG_R17, 13, "R17"},
41282	{18, ppc64.REG_R18, 14, "R18"},
41283	{19, ppc64.REG_R19, 15, "R19"},
41284	{20, ppc64.REG_R20, 16, "R20"},
41285	{21, ppc64.REG_R21, 17, "R21"},
41286	{22, ppc64.REG_R22, 18, "R22"},
41287	{23, ppc64.REG_R23, 19, "R23"},
41288	{24, ppc64.REG_R24, 20, "R24"},
41289	{25, ppc64.REG_R25, 21, "R25"},
41290	{26, ppc64.REG_R26, 22, "R26"},
41291	{27, ppc64.REG_R27, 23, "R27"},
41292	{28, ppc64.REG_R28, 24, "R28"},
41293	{29, ppc64.REG_R29, 25, "R29"},
41294	{30, ppc64.REGG, -1, "g"},
41295	{31, ppc64.REG_R31, -1, "R31"},
41296	{32, ppc64.REG_F0, -1, "F0"},
41297	{33, ppc64.REG_F1, -1, "F1"},
41298	{34, ppc64.REG_F2, -1, "F2"},
41299	{35, ppc64.REG_F3, -1, "F3"},
41300	{36, ppc64.REG_F4, -1, "F4"},
41301	{37, ppc64.REG_F5, -1, "F5"},
41302	{38, ppc64.REG_F6, -1, "F6"},
41303	{39, ppc64.REG_F7, -1, "F7"},
41304	{40, ppc64.REG_F8, -1, "F8"},
41305	{41, ppc64.REG_F9, -1, "F9"},
41306	{42, ppc64.REG_F10, -1, "F10"},
41307	{43, ppc64.REG_F11, -1, "F11"},
41308	{44, ppc64.REG_F12, -1, "F12"},
41309	{45, ppc64.REG_F13, -1, "F13"},
41310	{46, ppc64.REG_F14, -1, "F14"},
41311	{47, ppc64.REG_F15, -1, "F15"},
41312	{48, ppc64.REG_F16, -1, "F16"},
41313	{49, ppc64.REG_F17, -1, "F17"},
41314	{50, ppc64.REG_F18, -1, "F18"},
41315	{51, ppc64.REG_F19, -1, "F19"},
41316	{52, ppc64.REG_F20, -1, "F20"},
41317	{53, ppc64.REG_F21, -1, "F21"},
41318	{54, ppc64.REG_F22, -1, "F22"},
41319	{55, ppc64.REG_F23, -1, "F23"},
41320	{56, ppc64.REG_F24, -1, "F24"},
41321	{57, ppc64.REG_F25, -1, "F25"},
41322	{58, ppc64.REG_F26, -1, "F26"},
41323	{59, ppc64.REG_F27, -1, "F27"},
41324	{60, ppc64.REG_F28, -1, "F28"},
41325	{61, ppc64.REG_F29, -1, "F29"},
41326	{62, ppc64.REG_F30, -1, "F30"},
41327	{63, ppc64.REG_XER, -1, "XER"},
41328}
41329var paramIntRegPPC64 = []int8{3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17}
41330var paramFloatRegPPC64 = []int8{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44}
41331var gpRegMaskPPC64 = regMask(1073733624)
41332var fpRegMaskPPC64 = regMask(9223372032559808512)
41333var specialRegMaskPPC64 = regMask(9223372036854775808)
41334var framepointerRegPPC64 = int8(-1)
41335var linkRegPPC64 = int8(-1)
41336var registersRISCV64 = [...]Register{
41337	{0, riscv.REG_X0, -1, "X0"},
41338	{1, riscv.REGSP, -1, "SP"},
41339	{2, riscv.REG_X3, -1, "X3"},
41340	{3, riscv.REG_X4, -1, "X4"},
41341	{4, riscv.REG_X5, 0, "X5"},
41342	{5, riscv.REG_X6, 1, "X6"},
41343	{6, riscv.REG_X7, 2, "X7"},
41344	{7, riscv.REG_X8, 3, "X8"},
41345	{8, riscv.REG_X9, 4, "X9"},
41346	{9, riscv.REG_X10, 5, "X10"},
41347	{10, riscv.REG_X11, 6, "X11"},
41348	{11, riscv.REG_X12, 7, "X12"},
41349	{12, riscv.REG_X13, 8, "X13"},
41350	{13, riscv.REG_X14, 9, "X14"},
41351	{14, riscv.REG_X15, 10, "X15"},
41352	{15, riscv.REG_X16, 11, "X16"},
41353	{16, riscv.REG_X17, 12, "X17"},
41354	{17, riscv.REG_X18, 13, "X18"},
41355	{18, riscv.REG_X19, 14, "X19"},
41356	{19, riscv.REG_X20, 15, "X20"},
41357	{20, riscv.REG_X21, 16, "X21"},
41358	{21, riscv.REG_X22, 17, "X22"},
41359	{22, riscv.REG_X23, 18, "X23"},
41360	{23, riscv.REG_X24, 19, "X24"},
41361	{24, riscv.REG_X25, 20, "X25"},
41362	{25, riscv.REG_X26, 21, "X26"},
41363	{26, riscv.REGG, -1, "g"},
41364	{27, riscv.REG_X28, 22, "X28"},
41365	{28, riscv.REG_X29, 23, "X29"},
41366	{29, riscv.REG_X30, 24, "X30"},
41367	{30, riscv.REG_X31, -1, "X31"},
41368	{31, riscv.REG_F0, -1, "F0"},
41369	{32, riscv.REG_F1, -1, "F1"},
41370	{33, riscv.REG_F2, -1, "F2"},
41371	{34, riscv.REG_F3, -1, "F3"},
41372	{35, riscv.REG_F4, -1, "F4"},
41373	{36, riscv.REG_F5, -1, "F5"},
41374	{37, riscv.REG_F6, -1, "F6"},
41375	{38, riscv.REG_F7, -1, "F7"},
41376	{39, riscv.REG_F8, -1, "F8"},
41377	{40, riscv.REG_F9, -1, "F9"},
41378	{41, riscv.REG_F10, -1, "F10"},
41379	{42, riscv.REG_F11, -1, "F11"},
41380	{43, riscv.REG_F12, -1, "F12"},
41381	{44, riscv.REG_F13, -1, "F13"},
41382	{45, riscv.REG_F14, -1, "F14"},
41383	{46, riscv.REG_F15, -1, "F15"},
41384	{47, riscv.REG_F16, -1, "F16"},
41385	{48, riscv.REG_F17, -1, "F17"},
41386	{49, riscv.REG_F18, -1, "F18"},
41387	{50, riscv.REG_F19, -1, "F19"},
41388	{51, riscv.REG_F20, -1, "F20"},
41389	{52, riscv.REG_F21, -1, "F21"},
41390	{53, riscv.REG_F22, -1, "F22"},
41391	{54, riscv.REG_F23, -1, "F23"},
41392	{55, riscv.REG_F24, -1, "F24"},
41393	{56, riscv.REG_F25, -1, "F25"},
41394	{57, riscv.REG_F26, -1, "F26"},
41395	{58, riscv.REG_F27, -1, "F27"},
41396	{59, riscv.REG_F28, -1, "F28"},
41397	{60, riscv.REG_F29, -1, "F29"},
41398	{61, riscv.REG_F30, -1, "F30"},
41399	{62, riscv.REG_F31, -1, "F31"},
41400	{63, 0, -1, "SB"},
41401}
41402var paramIntRegRISCV64 = []int8{9, 10, 11, 12, 13, 14, 15, 16, 7, 8, 17, 18, 19, 20, 21, 22}
41403var paramFloatRegRISCV64 = []int8{41, 42, 43, 44, 45, 46, 47, 48, 39, 40, 49, 50, 51, 52, 53, 54}
41404var gpRegMaskRISCV64 = regMask(1006632944)
41405var fpRegMaskRISCV64 = regMask(9223372034707292160)
41406var specialRegMaskRISCV64 = regMask(0)
41407var framepointerRegRISCV64 = int8(-1)
41408var linkRegRISCV64 = int8(0)
41409var registersS390X = [...]Register{
41410	{0, s390x.REG_R0, 0, "R0"},
41411	{1, s390x.REG_R1, 1, "R1"},
41412	{2, s390x.REG_R2, 2, "R2"},
41413	{3, s390x.REG_R3, 3, "R3"},
41414	{4, s390x.REG_R4, 4, "R4"},
41415	{5, s390x.REG_R5, 5, "R5"},
41416	{6, s390x.REG_R6, 6, "R6"},
41417	{7, s390x.REG_R7, 7, "R7"},
41418	{8, s390x.REG_R8, 8, "R8"},
41419	{9, s390x.REG_R9, 9, "R9"},
41420	{10, s390x.REG_R10, -1, "R10"},
41421	{11, s390x.REG_R11, 10, "R11"},
41422	{12, s390x.REG_R12, 11, "R12"},
41423	{13, s390x.REGG, -1, "g"},
41424	{14, s390x.REG_R14, 12, "R14"},
41425	{15, s390x.REGSP, -1, "SP"},
41426	{16, s390x.REG_F0, -1, "F0"},
41427	{17, s390x.REG_F1, -1, "F1"},
41428	{18, s390x.REG_F2, -1, "F2"},
41429	{19, s390x.REG_F3, -1, "F3"},
41430	{20, s390x.REG_F4, -1, "F4"},
41431	{21, s390x.REG_F5, -1, "F5"},
41432	{22, s390x.REG_F6, -1, "F6"},
41433	{23, s390x.REG_F7, -1, "F7"},
41434	{24, s390x.REG_F8, -1, "F8"},
41435	{25, s390x.REG_F9, -1, "F9"},
41436	{26, s390x.REG_F10, -1, "F10"},
41437	{27, s390x.REG_F11, -1, "F11"},
41438	{28, s390x.REG_F12, -1, "F12"},
41439	{29, s390x.REG_F13, -1, "F13"},
41440	{30, s390x.REG_F14, -1, "F14"},
41441	{31, s390x.REG_F15, -1, "F15"},
41442	{32, 0, -1, "SB"},
41443}
41444var paramIntRegS390X = []int8(nil)
41445var paramFloatRegS390X = []int8(nil)
41446var gpRegMaskS390X = regMask(23551)
41447var fpRegMaskS390X = regMask(4294901760)
41448var specialRegMaskS390X = regMask(0)
41449var framepointerRegS390X = int8(-1)
41450var linkRegS390X = int8(14)
41451var registersWasm = [...]Register{
41452	{0, wasm.REG_R0, 0, "R0"},
41453	{1, wasm.REG_R1, 1, "R1"},
41454	{2, wasm.REG_R2, 2, "R2"},
41455	{3, wasm.REG_R3, 3, "R3"},
41456	{4, wasm.REG_R4, 4, "R4"},
41457	{5, wasm.REG_R5, 5, "R5"},
41458	{6, wasm.REG_R6, 6, "R6"},
41459	{7, wasm.REG_R7, 7, "R7"},
41460	{8, wasm.REG_R8, 8, "R8"},
41461	{9, wasm.REG_R9, 9, "R9"},
41462	{10, wasm.REG_R10, 10, "R10"},
41463	{11, wasm.REG_R11, 11, "R11"},
41464	{12, wasm.REG_R12, 12, "R12"},
41465	{13, wasm.REG_R13, 13, "R13"},
41466	{14, wasm.REG_R14, 14, "R14"},
41467	{15, wasm.REG_R15, 15, "R15"},
41468	{16, wasm.REG_F0, -1, "F0"},
41469	{17, wasm.REG_F1, -1, "F1"},
41470	{18, wasm.REG_F2, -1, "F2"},
41471	{19, wasm.REG_F3, -1, "F3"},
41472	{20, wasm.REG_F4, -1, "F4"},
41473	{21, wasm.REG_F5, -1, "F5"},
41474	{22, wasm.REG_F6, -1, "F6"},
41475	{23, wasm.REG_F7, -1, "F7"},
41476	{24, wasm.REG_F8, -1, "F8"},
41477	{25, wasm.REG_F9, -1, "F9"},
41478	{26, wasm.REG_F10, -1, "F10"},
41479	{27, wasm.REG_F11, -1, "F11"},
41480	{28, wasm.REG_F12, -1, "F12"},
41481	{29, wasm.REG_F13, -1, "F13"},
41482	{30, wasm.REG_F14, -1, "F14"},
41483	{31, wasm.REG_F15, -1, "F15"},
41484	{32, wasm.REG_F16, -1, "F16"},
41485	{33, wasm.REG_F17, -1, "F17"},
41486	{34, wasm.REG_F18, -1, "F18"},
41487	{35, wasm.REG_F19, -1, "F19"},
41488	{36, wasm.REG_F20, -1, "F20"},
41489	{37, wasm.REG_F21, -1, "F21"},
41490	{38, wasm.REG_F22, -1, "F22"},
41491	{39, wasm.REG_F23, -1, "F23"},
41492	{40, wasm.REG_F24, -1, "F24"},
41493	{41, wasm.REG_F25, -1, "F25"},
41494	{42, wasm.REG_F26, -1, "F26"},
41495	{43, wasm.REG_F27, -1, "F27"},
41496	{44, wasm.REG_F28, -1, "F28"},
41497	{45, wasm.REG_F29, -1, "F29"},
41498	{46, wasm.REG_F30, -1, "F30"},
41499	{47, wasm.REG_F31, -1, "F31"},
41500	{48, wasm.REGSP, -1, "SP"},
41501	{49, wasm.REGG, -1, "g"},
41502	{50, 0, -1, "SB"},
41503}
41504var paramIntRegWasm = []int8(nil)
41505var paramFloatRegWasm = []int8(nil)
41506var gpRegMaskWasm = regMask(65535)
41507var fpRegMaskWasm = regMask(281474976645120)
41508var fp32RegMaskWasm = regMask(4294901760)
41509var fp64RegMaskWasm = regMask(281470681743360)
41510var specialRegMaskWasm = regMask(0)
41511var framepointerRegWasm = int8(-1)
41512var linkRegWasm = int8(-1)
41513