Source file src/cmd/compile/internal/ssa/opGen.go

Documentation: cmd/compile/internal/ssa

     1  // Code generated from gen/*Ops.go; DO NOT EDIT.
     2  
     3  package ssa
     4  
     5  import (
     6  	"cmd/internal/obj"
     7  	"cmd/internal/obj/arm"
     8  	"cmd/internal/obj/arm64"
     9  	"cmd/internal/obj/mips"
    10  	"cmd/internal/obj/ppc64"
    11  	"cmd/internal/obj/s390x"
    12  	"cmd/internal/obj/wasm"
    13  	"cmd/internal/obj/x86"
    14  )
    15  
    16  const (
    17  	BlockInvalid BlockKind = iota
    18  
    19  	Block386EQ
    20  	Block386NE
    21  	Block386LT
    22  	Block386LE
    23  	Block386GT
    24  	Block386GE
    25  	Block386OS
    26  	Block386OC
    27  	Block386ULT
    28  	Block386ULE
    29  	Block386UGT
    30  	Block386UGE
    31  	Block386EQF
    32  	Block386NEF
    33  	Block386ORD
    34  	Block386NAN
    35  
    36  	BlockAMD64EQ
    37  	BlockAMD64NE
    38  	BlockAMD64LT
    39  	BlockAMD64LE
    40  	BlockAMD64GT
    41  	BlockAMD64GE
    42  	BlockAMD64OS
    43  	BlockAMD64OC
    44  	BlockAMD64ULT
    45  	BlockAMD64ULE
    46  	BlockAMD64UGT
    47  	BlockAMD64UGE
    48  	BlockAMD64EQF
    49  	BlockAMD64NEF
    50  	BlockAMD64ORD
    51  	BlockAMD64NAN
    52  
    53  	BlockARMEQ
    54  	BlockARMNE
    55  	BlockARMLT
    56  	BlockARMLE
    57  	BlockARMGT
    58  	BlockARMGE
    59  	BlockARMULT
    60  	BlockARMULE
    61  	BlockARMUGT
    62  	BlockARMUGE
    63  
    64  	BlockARM64EQ
    65  	BlockARM64NE
    66  	BlockARM64LT
    67  	BlockARM64LE
    68  	BlockARM64GT
    69  	BlockARM64GE
    70  	BlockARM64ULT
    71  	BlockARM64ULE
    72  	BlockARM64UGT
    73  	BlockARM64UGE
    74  	BlockARM64Z
    75  	BlockARM64NZ
    76  	BlockARM64ZW
    77  	BlockARM64NZW
    78  	BlockARM64TBZ
    79  	BlockARM64TBNZ
    80  	BlockARM64FLT
    81  	BlockARM64FLE
    82  	BlockARM64FGT
    83  	BlockARM64FGE
    84  
    85  	BlockMIPSEQ
    86  	BlockMIPSNE
    87  	BlockMIPSLTZ
    88  	BlockMIPSLEZ
    89  	BlockMIPSGTZ
    90  	BlockMIPSGEZ
    91  	BlockMIPSFPT
    92  	BlockMIPSFPF
    93  
    94  	BlockMIPS64EQ
    95  	BlockMIPS64NE
    96  	BlockMIPS64LTZ
    97  	BlockMIPS64LEZ
    98  	BlockMIPS64GTZ
    99  	BlockMIPS64GEZ
   100  	BlockMIPS64FPT
   101  	BlockMIPS64FPF
   102  
   103  	BlockPPC64EQ
   104  	BlockPPC64NE
   105  	BlockPPC64LT
   106  	BlockPPC64LE
   107  	BlockPPC64GT
   108  	BlockPPC64GE
   109  	BlockPPC64FLT
   110  	BlockPPC64FLE
   111  	BlockPPC64FGT
   112  	BlockPPC64FGE
   113  
   114  	BlockS390XEQ
   115  	BlockS390XNE
   116  	BlockS390XLT
   117  	BlockS390XLE
   118  	BlockS390XGT
   119  	BlockS390XGE
   120  	BlockS390XGTF
   121  	BlockS390XGEF
   122  
   123  	BlockPlain
   124  	BlockIf
   125  	BlockDefer
   126  	BlockRet
   127  	BlockRetJmp
   128  	BlockExit
   129  	BlockFirst
   130  )
   131  
   132  var blockString = [...]string{
   133  	BlockInvalid: "BlockInvalid",
   134  
   135  	Block386EQ:  "EQ",
   136  	Block386NE:  "NE",
   137  	Block386LT:  "LT",
   138  	Block386LE:  "LE",
   139  	Block386GT:  "GT",
   140  	Block386GE:  "GE",
   141  	Block386OS:  "OS",
   142  	Block386OC:  "OC",
   143  	Block386ULT: "ULT",
   144  	Block386ULE: "ULE",
   145  	Block386UGT: "UGT",
   146  	Block386UGE: "UGE",
   147  	Block386EQF: "EQF",
   148  	Block386NEF: "NEF",
   149  	Block386ORD: "ORD",
   150  	Block386NAN: "NAN",
   151  
   152  	BlockAMD64EQ:  "EQ",
   153  	BlockAMD64NE:  "NE",
   154  	BlockAMD64LT:  "LT",
   155  	BlockAMD64LE:  "LE",
   156  	BlockAMD64GT:  "GT",
   157  	BlockAMD64GE:  "GE",
   158  	BlockAMD64OS:  "OS",
   159  	BlockAMD64OC:  "OC",
   160  	BlockAMD64ULT: "ULT",
   161  	BlockAMD64ULE: "ULE",
   162  	BlockAMD64UGT: "UGT",
   163  	BlockAMD64UGE: "UGE",
   164  	BlockAMD64EQF: "EQF",
   165  	BlockAMD64NEF: "NEF",
   166  	BlockAMD64ORD: "ORD",
   167  	BlockAMD64NAN: "NAN",
   168  
   169  	BlockARMEQ:  "EQ",
   170  	BlockARMNE:  "NE",
   171  	BlockARMLT:  "LT",
   172  	BlockARMLE:  "LE",
   173  	BlockARMGT:  "GT",
   174  	BlockARMGE:  "GE",
   175  	BlockARMULT: "ULT",
   176  	BlockARMULE: "ULE",
   177  	BlockARMUGT: "UGT",
   178  	BlockARMUGE: "UGE",
   179  
   180  	BlockARM64EQ:   "EQ",
   181  	BlockARM64NE:   "NE",
   182  	BlockARM64LT:   "LT",
   183  	BlockARM64LE:   "LE",
   184  	BlockARM64GT:   "GT",
   185  	BlockARM64GE:   "GE",
   186  	BlockARM64ULT:  "ULT",
   187  	BlockARM64ULE:  "ULE",
   188  	BlockARM64UGT:  "UGT",
   189  	BlockARM64UGE:  "UGE",
   190  	BlockARM64Z:    "Z",
   191  	BlockARM64NZ:   "NZ",
   192  	BlockARM64ZW:   "ZW",
   193  	BlockARM64NZW:  "NZW",
   194  	BlockARM64TBZ:  "TBZ",
   195  	BlockARM64TBNZ: "TBNZ",
   196  	BlockARM64FLT:  "FLT",
   197  	BlockARM64FLE:  "FLE",
   198  	BlockARM64FGT:  "FGT",
   199  	BlockARM64FGE:  "FGE",
   200  
   201  	BlockMIPSEQ:  "EQ",
   202  	BlockMIPSNE:  "NE",
   203  	BlockMIPSLTZ: "LTZ",
   204  	BlockMIPSLEZ: "LEZ",
   205  	BlockMIPSGTZ: "GTZ",
   206  	BlockMIPSGEZ: "GEZ",
   207  	BlockMIPSFPT: "FPT",
   208  	BlockMIPSFPF: "FPF",
   209  
   210  	BlockMIPS64EQ:  "EQ",
   211  	BlockMIPS64NE:  "NE",
   212  	BlockMIPS64LTZ: "LTZ",
   213  	BlockMIPS64LEZ: "LEZ",
   214  	BlockMIPS64GTZ: "GTZ",
   215  	BlockMIPS64GEZ: "GEZ",
   216  	BlockMIPS64FPT: "FPT",
   217  	BlockMIPS64FPF: "FPF",
   218  
   219  	BlockPPC64EQ:  "EQ",
   220  	BlockPPC64NE:  "NE",
   221  	BlockPPC64LT:  "LT",
   222  	BlockPPC64LE:  "LE",
   223  	BlockPPC64GT:  "GT",
   224  	BlockPPC64GE:  "GE",
   225  	BlockPPC64FLT: "FLT",
   226  	BlockPPC64FLE: "FLE",
   227  	BlockPPC64FGT: "FGT",
   228  	BlockPPC64FGE: "FGE",
   229  
   230  	BlockS390XEQ:  "EQ",
   231  	BlockS390XNE:  "NE",
   232  	BlockS390XLT:  "LT",
   233  	BlockS390XLE:  "LE",
   234  	BlockS390XGT:  "GT",
   235  	BlockS390XGE:  "GE",
   236  	BlockS390XGTF: "GTF",
   237  	BlockS390XGEF: "GEF",
   238  
   239  	BlockPlain:  "Plain",
   240  	BlockIf:     "If",
   241  	BlockDefer:  "Defer",
   242  	BlockRet:    "Ret",
   243  	BlockRetJmp: "RetJmp",
   244  	BlockExit:   "Exit",
   245  	BlockFirst:  "First",
   246  }
   247  
   248  func (k BlockKind) String() string { return blockString[k] }
   249  
   250  const (
   251  	OpInvalid Op = iota
   252  
   253  	Op386ADDSS
   254  	Op386ADDSD
   255  	Op386SUBSS
   256  	Op386SUBSD
   257  	Op386MULSS
   258  	Op386MULSD
   259  	Op386DIVSS
   260  	Op386DIVSD
   261  	Op386MOVSSload
   262  	Op386MOVSDload
   263  	Op386MOVSSconst
   264  	Op386MOVSDconst
   265  	Op386MOVSSloadidx1
   266  	Op386MOVSSloadidx4
   267  	Op386MOVSDloadidx1
   268  	Op386MOVSDloadidx8
   269  	Op386MOVSSstore
   270  	Op386MOVSDstore
   271  	Op386MOVSSstoreidx1
   272  	Op386MOVSSstoreidx4
   273  	Op386MOVSDstoreidx1
   274  	Op386MOVSDstoreidx8
   275  	Op386ADDSSload
   276  	Op386ADDSDload
   277  	Op386SUBSSload
   278  	Op386SUBSDload
   279  	Op386MULSSload
   280  	Op386MULSDload
   281  	Op386DIVSSload
   282  	Op386DIVSDload
   283  	Op386ADDL
   284  	Op386ADDLconst
   285  	Op386ADDLcarry
   286  	Op386ADDLconstcarry
   287  	Op386ADCL
   288  	Op386ADCLconst
   289  	Op386SUBL
   290  	Op386SUBLconst
   291  	Op386SUBLcarry
   292  	Op386SUBLconstcarry
   293  	Op386SBBL
   294  	Op386SBBLconst
   295  	Op386MULL
   296  	Op386MULLconst
   297  	Op386MULLU
   298  	Op386HMULL
   299  	Op386HMULLU
   300  	Op386MULLQU
   301  	Op386AVGLU
   302  	Op386DIVL
   303  	Op386DIVW
   304  	Op386DIVLU
   305  	Op386DIVWU
   306  	Op386MODL
   307  	Op386MODW
   308  	Op386MODLU
   309  	Op386MODWU
   310  	Op386ANDL
   311  	Op386ANDLconst
   312  	Op386ORL
   313  	Op386ORLconst
   314  	Op386XORL
   315  	Op386XORLconst
   316  	Op386CMPL
   317  	Op386CMPW
   318  	Op386CMPB
   319  	Op386CMPLconst
   320  	Op386CMPWconst
   321  	Op386CMPBconst
   322  	Op386CMPLload
   323  	Op386CMPWload
   324  	Op386CMPBload
   325  	Op386CMPLconstload
   326  	Op386CMPWconstload
   327  	Op386CMPBconstload
   328  	Op386UCOMISS
   329  	Op386UCOMISD
   330  	Op386TESTL
   331  	Op386TESTW
   332  	Op386TESTB
   333  	Op386TESTLconst
   334  	Op386TESTWconst
   335  	Op386TESTBconst
   336  	Op386SHLL
   337  	Op386SHLLconst
   338  	Op386SHRL
   339  	Op386SHRW
   340  	Op386SHRB
   341  	Op386SHRLconst
   342  	Op386SHRWconst
   343  	Op386SHRBconst
   344  	Op386SARL
   345  	Op386SARW
   346  	Op386SARB
   347  	Op386SARLconst
   348  	Op386SARWconst
   349  	Op386SARBconst
   350  	Op386ROLLconst
   351  	Op386ROLWconst
   352  	Op386ROLBconst
   353  	Op386ADDLload
   354  	Op386SUBLload
   355  	Op386MULLload
   356  	Op386ANDLload
   357  	Op386ORLload
   358  	Op386XORLload
   359  	Op386ADDLloadidx4
   360  	Op386SUBLloadidx4
   361  	Op386MULLloadidx4
   362  	Op386ANDLloadidx4
   363  	Op386ORLloadidx4
   364  	Op386XORLloadidx4
   365  	Op386NEGL
   366  	Op386NOTL
   367  	Op386BSFL
   368  	Op386BSFW
   369  	Op386BSRL
   370  	Op386BSRW
   371  	Op386BSWAPL
   372  	Op386SQRTSD
   373  	Op386SBBLcarrymask
   374  	Op386SETEQ
   375  	Op386SETNE
   376  	Op386SETL
   377  	Op386SETLE
   378  	Op386SETG
   379  	Op386SETGE
   380  	Op386SETB
   381  	Op386SETBE
   382  	Op386SETA
   383  	Op386SETAE
   384  	Op386SETO
   385  	Op386SETEQF
   386  	Op386SETNEF
   387  	Op386SETORD
   388  	Op386SETNAN
   389  	Op386SETGF
   390  	Op386SETGEF
   391  	Op386MOVBLSX
   392  	Op386MOVBLZX
   393  	Op386MOVWLSX
   394  	Op386MOVWLZX
   395  	Op386MOVLconst
   396  	Op386CVTTSD2SL
   397  	Op386CVTTSS2SL
   398  	Op386CVTSL2SS
   399  	Op386CVTSL2SD
   400  	Op386CVTSD2SS
   401  	Op386CVTSS2SD
   402  	Op386PXOR
   403  	Op386LEAL
   404  	Op386LEAL1
   405  	Op386LEAL2
   406  	Op386LEAL4
   407  	Op386LEAL8
   408  	Op386MOVBload
   409  	Op386MOVBLSXload
   410  	Op386MOVWload
   411  	Op386MOVWLSXload
   412  	Op386MOVLload
   413  	Op386MOVBstore
   414  	Op386MOVWstore
   415  	Op386MOVLstore
   416  	Op386ADDLmodify
   417  	Op386SUBLmodify
   418  	Op386ANDLmodify
   419  	Op386ORLmodify
   420  	Op386XORLmodify
   421  	Op386ADDLmodifyidx4
   422  	Op386SUBLmodifyidx4
   423  	Op386ANDLmodifyidx4
   424  	Op386ORLmodifyidx4
   425  	Op386XORLmodifyidx4
   426  	Op386ADDLconstmodify
   427  	Op386ANDLconstmodify
   428  	Op386ORLconstmodify
   429  	Op386XORLconstmodify
   430  	Op386ADDLconstmodifyidx4
   431  	Op386ANDLconstmodifyidx4
   432  	Op386ORLconstmodifyidx4
   433  	Op386XORLconstmodifyidx4
   434  	Op386MOVBloadidx1
   435  	Op386MOVWloadidx1
   436  	Op386MOVWloadidx2
   437  	Op386MOVLloadidx1
   438  	Op386MOVLloadidx4
   439  	Op386MOVBstoreidx1
   440  	Op386MOVWstoreidx1
   441  	Op386MOVWstoreidx2
   442  	Op386MOVLstoreidx1
   443  	Op386MOVLstoreidx4
   444  	Op386MOVBstoreconst
   445  	Op386MOVWstoreconst
   446  	Op386MOVLstoreconst
   447  	Op386MOVBstoreconstidx1
   448  	Op386MOVWstoreconstidx1
   449  	Op386MOVWstoreconstidx2
   450  	Op386MOVLstoreconstidx1
   451  	Op386MOVLstoreconstidx4
   452  	Op386DUFFZERO
   453  	Op386REPSTOSL
   454  	Op386CALLstatic
   455  	Op386CALLclosure
   456  	Op386CALLinter
   457  	Op386DUFFCOPY
   458  	Op386REPMOVSL
   459  	Op386InvertFlags
   460  	Op386LoweredGetG
   461  	Op386LoweredGetClosurePtr
   462  	Op386LoweredGetCallerPC
   463  	Op386LoweredGetCallerSP
   464  	Op386LoweredNilCheck
   465  	Op386LoweredWB
   466  	Op386LoweredPanicBoundsA
   467  	Op386LoweredPanicBoundsB
   468  	Op386LoweredPanicBoundsC
   469  	Op386LoweredPanicExtendA
   470  	Op386LoweredPanicExtendB
   471  	Op386LoweredPanicExtendC
   472  	Op386FlagEQ
   473  	Op386FlagLT_ULT
   474  	Op386FlagLT_UGT
   475  	Op386FlagGT_UGT
   476  	Op386FlagGT_ULT
   477  	Op386FCHS
   478  	Op386MOVSSconst1
   479  	Op386MOVSDconst1
   480  	Op386MOVSSconst2
   481  	Op386MOVSDconst2
   482  
   483  	OpAMD64ADDSS
   484  	OpAMD64ADDSD
   485  	OpAMD64SUBSS
   486  	OpAMD64SUBSD
   487  	OpAMD64MULSS
   488  	OpAMD64MULSD
   489  	OpAMD64DIVSS
   490  	OpAMD64DIVSD
   491  	OpAMD64MOVSSload
   492  	OpAMD64MOVSDload
   493  	OpAMD64MOVSSconst
   494  	OpAMD64MOVSDconst
   495  	OpAMD64MOVSSloadidx1
   496  	OpAMD64MOVSSloadidx4
   497  	OpAMD64MOVSDloadidx1
   498  	OpAMD64MOVSDloadidx8
   499  	OpAMD64MOVSSstore
   500  	OpAMD64MOVSDstore
   501  	OpAMD64MOVSSstoreidx1
   502  	OpAMD64MOVSSstoreidx4
   503  	OpAMD64MOVSDstoreidx1
   504  	OpAMD64MOVSDstoreidx8
   505  	OpAMD64ADDSSload
   506  	OpAMD64ADDSDload
   507  	OpAMD64SUBSSload
   508  	OpAMD64SUBSDload
   509  	OpAMD64MULSSload
   510  	OpAMD64MULSDload
   511  	OpAMD64DIVSSload
   512  	OpAMD64DIVSDload
   513  	OpAMD64ADDQ
   514  	OpAMD64ADDL
   515  	OpAMD64ADDQconst
   516  	OpAMD64ADDLconst
   517  	OpAMD64ADDQconstmodify
   518  	OpAMD64ADDLconstmodify
   519  	OpAMD64SUBQ
   520  	OpAMD64SUBL
   521  	OpAMD64SUBQconst
   522  	OpAMD64SUBLconst
   523  	OpAMD64MULQ
   524  	OpAMD64MULL
   525  	OpAMD64MULQconst
   526  	OpAMD64MULLconst
   527  	OpAMD64MULLU
   528  	OpAMD64MULQU
   529  	OpAMD64HMULQ
   530  	OpAMD64HMULL
   531  	OpAMD64HMULQU
   532  	OpAMD64HMULLU
   533  	OpAMD64AVGQU
   534  	OpAMD64DIVQ
   535  	OpAMD64DIVL
   536  	OpAMD64DIVW
   537  	OpAMD64DIVQU
   538  	OpAMD64DIVLU
   539  	OpAMD64DIVWU
   540  	OpAMD64NEGLflags
   541  	OpAMD64ADDQcarry
   542  	OpAMD64ADCQ
   543  	OpAMD64ADDQconstcarry
   544  	OpAMD64ADCQconst
   545  	OpAMD64SUBQborrow
   546  	OpAMD64SBBQ
   547  	OpAMD64SUBQconstborrow
   548  	OpAMD64SBBQconst
   549  	OpAMD64MULQU2
   550  	OpAMD64DIVQU2
   551  	OpAMD64ANDQ
   552  	OpAMD64ANDL
   553  	OpAMD64ANDQconst
   554  	OpAMD64ANDLconst
   555  	OpAMD64ANDQconstmodify
   556  	OpAMD64ANDLconstmodify
   557  	OpAMD64ORQ
   558  	OpAMD64ORL
   559  	OpAMD64ORQconst
   560  	OpAMD64ORLconst
   561  	OpAMD64ORQconstmodify
   562  	OpAMD64ORLconstmodify
   563  	OpAMD64XORQ
   564  	OpAMD64XORL
   565  	OpAMD64XORQconst
   566  	OpAMD64XORLconst
   567  	OpAMD64XORQconstmodify
   568  	OpAMD64XORLconstmodify
   569  	OpAMD64CMPQ
   570  	OpAMD64CMPL
   571  	OpAMD64CMPW
   572  	OpAMD64CMPB
   573  	OpAMD64CMPQconst
   574  	OpAMD64CMPLconst
   575  	OpAMD64CMPWconst
   576  	OpAMD64CMPBconst
   577  	OpAMD64CMPQload
   578  	OpAMD64CMPLload
   579  	OpAMD64CMPWload
   580  	OpAMD64CMPBload
   581  	OpAMD64CMPQconstload
   582  	OpAMD64CMPLconstload
   583  	OpAMD64CMPWconstload
   584  	OpAMD64CMPBconstload
   585  	OpAMD64UCOMISS
   586  	OpAMD64UCOMISD
   587  	OpAMD64BTL
   588  	OpAMD64BTQ
   589  	OpAMD64BTCL
   590  	OpAMD64BTCQ
   591  	OpAMD64BTRL
   592  	OpAMD64BTRQ
   593  	OpAMD64BTSL
   594  	OpAMD64BTSQ
   595  	OpAMD64BTLconst
   596  	OpAMD64BTQconst
   597  	OpAMD64BTCLconst
   598  	OpAMD64BTCQconst
   599  	OpAMD64BTRLconst
   600  	OpAMD64BTRQconst
   601  	OpAMD64BTSLconst
   602  	OpAMD64BTSQconst
   603  	OpAMD64BTCQmodify
   604  	OpAMD64BTCLmodify
   605  	OpAMD64BTSQmodify
   606  	OpAMD64BTSLmodify
   607  	OpAMD64BTRQmodify
   608  	OpAMD64BTRLmodify
   609  	OpAMD64BTCQconstmodify
   610  	OpAMD64BTCLconstmodify
   611  	OpAMD64BTSQconstmodify
   612  	OpAMD64BTSLconstmodify
   613  	OpAMD64BTRQconstmodify
   614  	OpAMD64BTRLconstmodify
   615  	OpAMD64TESTQ
   616  	OpAMD64TESTL
   617  	OpAMD64TESTW
   618  	OpAMD64TESTB
   619  	OpAMD64TESTQconst
   620  	OpAMD64TESTLconst
   621  	OpAMD64TESTWconst
   622  	OpAMD64TESTBconst
   623  	OpAMD64SHLQ
   624  	OpAMD64SHLL
   625  	OpAMD64SHLQconst
   626  	OpAMD64SHLLconst
   627  	OpAMD64SHRQ
   628  	OpAMD64SHRL
   629  	OpAMD64SHRW
   630  	OpAMD64SHRB
   631  	OpAMD64SHRQconst
   632  	OpAMD64SHRLconst
   633  	OpAMD64SHRWconst
   634  	OpAMD64SHRBconst
   635  	OpAMD64SARQ
   636  	OpAMD64SARL
   637  	OpAMD64SARW
   638  	OpAMD64SARB
   639  	OpAMD64SARQconst
   640  	OpAMD64SARLconst
   641  	OpAMD64SARWconst
   642  	OpAMD64SARBconst
   643  	OpAMD64ROLQ
   644  	OpAMD64ROLL
   645  	OpAMD64ROLW
   646  	OpAMD64ROLB
   647  	OpAMD64RORQ
   648  	OpAMD64RORL
   649  	OpAMD64RORW
   650  	OpAMD64RORB
   651  	OpAMD64ROLQconst
   652  	OpAMD64ROLLconst
   653  	OpAMD64ROLWconst
   654  	OpAMD64ROLBconst
   655  	OpAMD64ADDLload
   656  	OpAMD64ADDQload
   657  	OpAMD64SUBQload
   658  	OpAMD64SUBLload
   659  	OpAMD64ANDLload
   660  	OpAMD64ANDQload
   661  	OpAMD64ORQload
   662  	OpAMD64ORLload
   663  	OpAMD64XORQload
   664  	OpAMD64XORLload
   665  	OpAMD64ADDQmodify
   666  	OpAMD64SUBQmodify
   667  	OpAMD64ANDQmodify
   668  	OpAMD64ORQmodify
   669  	OpAMD64XORQmodify
   670  	OpAMD64ADDLmodify
   671  	OpAMD64SUBLmodify
   672  	OpAMD64ANDLmodify
   673  	OpAMD64ORLmodify
   674  	OpAMD64XORLmodify
   675  	OpAMD64NEGQ
   676  	OpAMD64NEGL
   677  	OpAMD64NOTQ
   678  	OpAMD64NOTL
   679  	OpAMD64BSFQ
   680  	OpAMD64BSFL
   681  	OpAMD64BSRQ
   682  	OpAMD64BSRL
   683  	OpAMD64CMOVQEQ
   684  	OpAMD64CMOVQNE
   685  	OpAMD64CMOVQLT
   686  	OpAMD64CMOVQGT
   687  	OpAMD64CMOVQLE
   688  	OpAMD64CMOVQGE
   689  	OpAMD64CMOVQLS
   690  	OpAMD64CMOVQHI
   691  	OpAMD64CMOVQCC
   692  	OpAMD64CMOVQCS
   693  	OpAMD64CMOVLEQ
   694  	OpAMD64CMOVLNE
   695  	OpAMD64CMOVLLT
   696  	OpAMD64CMOVLGT
   697  	OpAMD64CMOVLLE
   698  	OpAMD64CMOVLGE
   699  	OpAMD64CMOVLLS
   700  	OpAMD64CMOVLHI
   701  	OpAMD64CMOVLCC
   702  	OpAMD64CMOVLCS
   703  	OpAMD64CMOVWEQ
   704  	OpAMD64CMOVWNE
   705  	OpAMD64CMOVWLT
   706  	OpAMD64CMOVWGT
   707  	OpAMD64CMOVWLE
   708  	OpAMD64CMOVWGE
   709  	OpAMD64CMOVWLS
   710  	OpAMD64CMOVWHI
   711  	OpAMD64CMOVWCC
   712  	OpAMD64CMOVWCS
   713  	OpAMD64CMOVQEQF
   714  	OpAMD64CMOVQNEF
   715  	OpAMD64CMOVQGTF
   716  	OpAMD64CMOVQGEF
   717  	OpAMD64CMOVLEQF
   718  	OpAMD64CMOVLNEF
   719  	OpAMD64CMOVLGTF
   720  	OpAMD64CMOVLGEF
   721  	OpAMD64CMOVWEQF
   722  	OpAMD64CMOVWNEF
   723  	OpAMD64CMOVWGTF
   724  	OpAMD64CMOVWGEF
   725  	OpAMD64BSWAPQ
   726  	OpAMD64BSWAPL
   727  	OpAMD64POPCNTQ
   728  	OpAMD64POPCNTL
   729  	OpAMD64SQRTSD
   730  	OpAMD64ROUNDSD
   731  	OpAMD64SBBQcarrymask
   732  	OpAMD64SBBLcarrymask
   733  	OpAMD64SETEQ
   734  	OpAMD64SETNE
   735  	OpAMD64SETL
   736  	OpAMD64SETLE
   737  	OpAMD64SETG
   738  	OpAMD64SETGE
   739  	OpAMD64SETB
   740  	OpAMD64SETBE
   741  	OpAMD64SETA
   742  	OpAMD64SETAE
   743  	OpAMD64SETO
   744  	OpAMD64SETEQstore
   745  	OpAMD64SETNEstore
   746  	OpAMD64SETLstore
   747  	OpAMD64SETLEstore
   748  	OpAMD64SETGstore
   749  	OpAMD64SETGEstore
   750  	OpAMD64SETBstore
   751  	OpAMD64SETBEstore
   752  	OpAMD64SETAstore
   753  	OpAMD64SETAEstore
   754  	OpAMD64SETEQF
   755  	OpAMD64SETNEF
   756  	OpAMD64SETORD
   757  	OpAMD64SETNAN
   758  	OpAMD64SETGF
   759  	OpAMD64SETGEF
   760  	OpAMD64MOVBQSX
   761  	OpAMD64MOVBQZX
   762  	OpAMD64MOVWQSX
   763  	OpAMD64MOVWQZX
   764  	OpAMD64MOVLQSX
   765  	OpAMD64MOVLQZX
   766  	OpAMD64MOVLconst
   767  	OpAMD64MOVQconst
   768  	OpAMD64CVTTSD2SL
   769  	OpAMD64CVTTSD2SQ
   770  	OpAMD64CVTTSS2SL
   771  	OpAMD64CVTTSS2SQ
   772  	OpAMD64CVTSL2SS
   773  	OpAMD64CVTSL2SD
   774  	OpAMD64CVTSQ2SS
   775  	OpAMD64CVTSQ2SD
   776  	OpAMD64CVTSD2SS
   777  	OpAMD64CVTSS2SD
   778  	OpAMD64MOVQi2f
   779  	OpAMD64MOVQf2i
   780  	OpAMD64MOVLi2f
   781  	OpAMD64MOVLf2i
   782  	OpAMD64PXOR
   783  	OpAMD64LEAQ
   784  	OpAMD64LEAL
   785  	OpAMD64LEAW
   786  	OpAMD64LEAQ1
   787  	OpAMD64LEAL1
   788  	OpAMD64LEAW1
   789  	OpAMD64LEAQ2
   790  	OpAMD64LEAL2
   791  	OpAMD64LEAW2
   792  	OpAMD64LEAQ4
   793  	OpAMD64LEAL4
   794  	OpAMD64LEAW4
   795  	OpAMD64LEAQ8
   796  	OpAMD64LEAL8
   797  	OpAMD64LEAW8
   798  	OpAMD64MOVBload
   799  	OpAMD64MOVBQSXload
   800  	OpAMD64MOVWload
   801  	OpAMD64MOVWQSXload
   802  	OpAMD64MOVLload
   803  	OpAMD64MOVLQSXload
   804  	OpAMD64MOVQload
   805  	OpAMD64MOVBstore
   806  	OpAMD64MOVWstore
   807  	OpAMD64MOVLstore
   808  	OpAMD64MOVQstore
   809  	OpAMD64MOVOload
   810  	OpAMD64MOVOstore
   811  	OpAMD64MOVBloadidx1
   812  	OpAMD64MOVWloadidx1
   813  	OpAMD64MOVWloadidx2
   814  	OpAMD64MOVLloadidx1
   815  	OpAMD64MOVLloadidx4
   816  	OpAMD64MOVLloadidx8
   817  	OpAMD64MOVQloadidx1
   818  	OpAMD64MOVQloadidx8
   819  	OpAMD64MOVBstoreidx1
   820  	OpAMD64MOVWstoreidx1
   821  	OpAMD64MOVWstoreidx2
   822  	OpAMD64MOVLstoreidx1
   823  	OpAMD64MOVLstoreidx4
   824  	OpAMD64MOVLstoreidx8
   825  	OpAMD64MOVQstoreidx1
   826  	OpAMD64MOVQstoreidx8
   827  	OpAMD64MOVBstoreconst
   828  	OpAMD64MOVWstoreconst
   829  	OpAMD64MOVLstoreconst
   830  	OpAMD64MOVQstoreconst
   831  	OpAMD64MOVBstoreconstidx1
   832  	OpAMD64MOVWstoreconstidx1
   833  	OpAMD64MOVWstoreconstidx2
   834  	OpAMD64MOVLstoreconstidx1
   835  	OpAMD64MOVLstoreconstidx4
   836  	OpAMD64MOVQstoreconstidx1
   837  	OpAMD64MOVQstoreconstidx8
   838  	OpAMD64DUFFZERO
   839  	OpAMD64MOVOconst
   840  	OpAMD64REPSTOSQ
   841  	OpAMD64CALLstatic
   842  	OpAMD64CALLclosure
   843  	OpAMD64CALLinter
   844  	OpAMD64DUFFCOPY
   845  	OpAMD64REPMOVSQ
   846  	OpAMD64InvertFlags
   847  	OpAMD64LoweredGetG
   848  	OpAMD64LoweredGetClosurePtr
   849  	OpAMD64LoweredGetCallerPC
   850  	OpAMD64LoweredGetCallerSP
   851  	OpAMD64LoweredNilCheck
   852  	OpAMD64LoweredWB
   853  	OpAMD64LoweredPanicBoundsA
   854  	OpAMD64LoweredPanicBoundsB
   855  	OpAMD64LoweredPanicBoundsC
   856  	OpAMD64LoweredPanicExtendA
   857  	OpAMD64LoweredPanicExtendB
   858  	OpAMD64LoweredPanicExtendC
   859  	OpAMD64FlagEQ
   860  	OpAMD64FlagLT_ULT
   861  	OpAMD64FlagLT_UGT
   862  	OpAMD64FlagGT_UGT
   863  	OpAMD64FlagGT_ULT
   864  	OpAMD64MOVBatomicload
   865  	OpAMD64MOVLatomicload
   866  	OpAMD64MOVQatomicload
   867  	OpAMD64XCHGL
   868  	OpAMD64XCHGQ
   869  	OpAMD64XADDLlock
   870  	OpAMD64XADDQlock
   871  	OpAMD64AddTupleFirst32
   872  	OpAMD64AddTupleFirst64
   873  	OpAMD64CMPXCHGLlock
   874  	OpAMD64CMPXCHGQlock
   875  	OpAMD64ANDBlock
   876  	OpAMD64ORBlock
   877  
   878  	OpARMADD
   879  	OpARMADDconst
   880  	OpARMSUB
   881  	OpARMSUBconst
   882  	OpARMRSB
   883  	OpARMRSBconst
   884  	OpARMMUL
   885  	OpARMHMUL
   886  	OpARMHMULU
   887  	OpARMCALLudiv
   888  	OpARMADDS
   889  	OpARMADDSconst
   890  	OpARMADC
   891  	OpARMADCconst
   892  	OpARMSUBS
   893  	OpARMSUBSconst
   894  	OpARMRSBSconst
   895  	OpARMSBC
   896  	OpARMSBCconst
   897  	OpARMRSCconst
   898  	OpARMMULLU
   899  	OpARMMULA
   900  	OpARMMULS
   901  	OpARMADDF
   902  	OpARMADDD
   903  	OpARMSUBF
   904  	OpARMSUBD
   905  	OpARMMULF
   906  	OpARMMULD
   907  	OpARMNMULF
   908  	OpARMNMULD
   909  	OpARMDIVF
   910  	OpARMDIVD
   911  	OpARMMULAF
   912  	OpARMMULAD
   913  	OpARMMULSF
   914  	OpARMMULSD
   915  	OpARMAND
   916  	OpARMANDconst
   917  	OpARMOR
   918  	OpARMORconst
   919  	OpARMXOR
   920  	OpARMXORconst
   921  	OpARMBIC
   922  	OpARMBICconst
   923  	OpARMBFX
   924  	OpARMBFXU
   925  	OpARMMVN
   926  	OpARMNEGF
   927  	OpARMNEGD
   928  	OpARMSQRTD
   929  	OpARMCLZ
   930  	OpARMREV
   931  	OpARMREV16
   932  	OpARMRBIT
   933  	OpARMSLL
   934  	OpARMSLLconst
   935  	OpARMSRL
   936  	OpARMSRLconst
   937  	OpARMSRA
   938  	OpARMSRAconst
   939  	OpARMSRRconst
   940  	OpARMADDshiftLL
   941  	OpARMADDshiftRL
   942  	OpARMADDshiftRA
   943  	OpARMSUBshiftLL
   944  	OpARMSUBshiftRL
   945  	OpARMSUBshiftRA
   946  	OpARMRSBshiftLL
   947  	OpARMRSBshiftRL
   948  	OpARMRSBshiftRA
   949  	OpARMANDshiftLL
   950  	OpARMANDshiftRL
   951  	OpARMANDshiftRA
   952  	OpARMORshiftLL
   953  	OpARMORshiftRL
   954  	OpARMORshiftRA
   955  	OpARMXORshiftLL
   956  	OpARMXORshiftRL
   957  	OpARMXORshiftRA
   958  	OpARMXORshiftRR
   959  	OpARMBICshiftLL
   960  	OpARMBICshiftRL
   961  	OpARMBICshiftRA
   962  	OpARMMVNshiftLL
   963  	OpARMMVNshiftRL
   964  	OpARMMVNshiftRA
   965  	OpARMADCshiftLL
   966  	OpARMADCshiftRL
   967  	OpARMADCshiftRA
   968  	OpARMSBCshiftLL
   969  	OpARMSBCshiftRL
   970  	OpARMSBCshiftRA
   971  	OpARMRSCshiftLL
   972  	OpARMRSCshiftRL
   973  	OpARMRSCshiftRA
   974  	OpARMADDSshiftLL
   975  	OpARMADDSshiftRL
   976  	OpARMADDSshiftRA
   977  	OpARMSUBSshiftLL
   978  	OpARMSUBSshiftRL
   979  	OpARMSUBSshiftRA
   980  	OpARMRSBSshiftLL
   981  	OpARMRSBSshiftRL
   982  	OpARMRSBSshiftRA
   983  	OpARMADDshiftLLreg
   984  	OpARMADDshiftRLreg
   985  	OpARMADDshiftRAreg
   986  	OpARMSUBshiftLLreg
   987  	OpARMSUBshiftRLreg
   988  	OpARMSUBshiftRAreg
   989  	OpARMRSBshiftLLreg
   990  	OpARMRSBshiftRLreg
   991  	OpARMRSBshiftRAreg
   992  	OpARMANDshiftLLreg
   993  	OpARMANDshiftRLreg
   994  	OpARMANDshiftRAreg
   995  	OpARMORshiftLLreg
   996  	OpARMORshiftRLreg
   997  	OpARMORshiftRAreg
   998  	OpARMXORshiftLLreg
   999  	OpARMXORshiftRLreg
  1000  	OpARMXORshiftRAreg
  1001  	OpARMBICshiftLLreg
  1002  	OpARMBICshiftRLreg
  1003  	OpARMBICshiftRAreg
  1004  	OpARMMVNshiftLLreg
  1005  	OpARMMVNshiftRLreg
  1006  	OpARMMVNshiftRAreg
  1007  	OpARMADCshiftLLreg
  1008  	OpARMADCshiftRLreg
  1009  	OpARMADCshiftRAreg
  1010  	OpARMSBCshiftLLreg
  1011  	OpARMSBCshiftRLreg
  1012  	OpARMSBCshiftRAreg
  1013  	OpARMRSCshiftLLreg
  1014  	OpARMRSCshiftRLreg
  1015  	OpARMRSCshiftRAreg
  1016  	OpARMADDSshiftLLreg
  1017  	OpARMADDSshiftRLreg
  1018  	OpARMADDSshiftRAreg
  1019  	OpARMSUBSshiftLLreg
  1020  	OpARMSUBSshiftRLreg
  1021  	OpARMSUBSshiftRAreg
  1022  	OpARMRSBSshiftLLreg
  1023  	OpARMRSBSshiftRLreg
  1024  	OpARMRSBSshiftRAreg
  1025  	OpARMCMP
  1026  	OpARMCMPconst
  1027  	OpARMCMN
  1028  	OpARMCMNconst
  1029  	OpARMTST
  1030  	OpARMTSTconst
  1031  	OpARMTEQ
  1032  	OpARMTEQconst
  1033  	OpARMCMPF
  1034  	OpARMCMPD
  1035  	OpARMCMPshiftLL
  1036  	OpARMCMPshiftRL
  1037  	OpARMCMPshiftRA
  1038  	OpARMCMNshiftLL
  1039  	OpARMCMNshiftRL
  1040  	OpARMCMNshiftRA
  1041  	OpARMTSTshiftLL
  1042  	OpARMTSTshiftRL
  1043  	OpARMTSTshiftRA
  1044  	OpARMTEQshiftLL
  1045  	OpARMTEQshiftRL
  1046  	OpARMTEQshiftRA
  1047  	OpARMCMPshiftLLreg
  1048  	OpARMCMPshiftRLreg
  1049  	OpARMCMPshiftRAreg
  1050  	OpARMCMNshiftLLreg
  1051  	OpARMCMNshiftRLreg
  1052  	OpARMCMNshiftRAreg
  1053  	OpARMTSTshiftLLreg
  1054  	OpARMTSTshiftRLreg
  1055  	OpARMTSTshiftRAreg
  1056  	OpARMTEQshiftLLreg
  1057  	OpARMTEQshiftRLreg
  1058  	OpARMTEQshiftRAreg
  1059  	OpARMCMPF0
  1060  	OpARMCMPD0
  1061  	OpARMMOVWconst
  1062  	OpARMMOVFconst
  1063  	OpARMMOVDconst
  1064  	OpARMMOVWaddr
  1065  	OpARMMOVBload
  1066  	OpARMMOVBUload
  1067  	OpARMMOVHload
  1068  	OpARMMOVHUload
  1069  	OpARMMOVWload
  1070  	OpARMMOVFload
  1071  	OpARMMOVDload
  1072  	OpARMMOVBstore
  1073  	OpARMMOVHstore
  1074  	OpARMMOVWstore
  1075  	OpARMMOVFstore
  1076  	OpARMMOVDstore
  1077  	OpARMMOVWloadidx
  1078  	OpARMMOVWloadshiftLL
  1079  	OpARMMOVWloadshiftRL
  1080  	OpARMMOVWloadshiftRA
  1081  	OpARMMOVBUloadidx
  1082  	OpARMMOVBloadidx
  1083  	OpARMMOVHUloadidx
  1084  	OpARMMOVHloadidx
  1085  	OpARMMOVWstoreidx
  1086  	OpARMMOVWstoreshiftLL
  1087  	OpARMMOVWstoreshiftRL
  1088  	OpARMMOVWstoreshiftRA
  1089  	OpARMMOVBstoreidx
  1090  	OpARMMOVHstoreidx
  1091  	OpARMMOVBreg
  1092  	OpARMMOVBUreg
  1093  	OpARMMOVHreg
  1094  	OpARMMOVHUreg
  1095  	OpARMMOVWreg
  1096  	OpARMMOVWnop
  1097  	OpARMMOVWF
  1098  	OpARMMOVWD
  1099  	OpARMMOVWUF
  1100  	OpARMMOVWUD
  1101  	OpARMMOVFW
  1102  	OpARMMOVDW
  1103  	OpARMMOVFWU
  1104  	OpARMMOVDWU
  1105  	OpARMMOVFD
  1106  	OpARMMOVDF
  1107  	OpARMCMOVWHSconst
  1108  	OpARMCMOVWLSconst
  1109  	OpARMSRAcond
  1110  	OpARMCALLstatic
  1111  	OpARMCALLclosure
  1112  	OpARMCALLinter
  1113  	OpARMLoweredNilCheck
  1114  	OpARMEqual
  1115  	OpARMNotEqual
  1116  	OpARMLessThan
  1117  	OpARMLessEqual
  1118  	OpARMGreaterThan
  1119  	OpARMGreaterEqual
  1120  	OpARMLessThanU
  1121  	OpARMLessEqualU
  1122  	OpARMGreaterThanU
  1123  	OpARMGreaterEqualU
  1124  	OpARMDUFFZERO
  1125  	OpARMDUFFCOPY
  1126  	OpARMLoweredZero
  1127  	OpARMLoweredMove
  1128  	OpARMLoweredGetClosurePtr
  1129  	OpARMLoweredGetCallerSP
  1130  	OpARMLoweredGetCallerPC
  1131  	OpARMLoweredPanicBoundsA
  1132  	OpARMLoweredPanicBoundsB
  1133  	OpARMLoweredPanicBoundsC
  1134  	OpARMLoweredPanicExtendA
  1135  	OpARMLoweredPanicExtendB
  1136  	OpARMLoweredPanicExtendC
  1137  	OpARMFlagEQ
  1138  	OpARMFlagLT_ULT
  1139  	OpARMFlagLT_UGT
  1140  	OpARMFlagGT_UGT
  1141  	OpARMFlagGT_ULT
  1142  	OpARMInvertFlags
  1143  	OpARMLoweredWB
  1144  
  1145  	OpARM64ADCSflags
  1146  	OpARM64ADCzerocarry
  1147  	OpARM64ADD
  1148  	OpARM64ADDconst
  1149  	OpARM64ADDSconstflags
  1150  	OpARM64ADDSflags
  1151  	OpARM64SUB
  1152  	OpARM64SUBconst
  1153  	OpARM64SBCSflags
  1154  	OpARM64SUBSflags
  1155  	OpARM64MUL
  1156  	OpARM64MULW
  1157  	OpARM64MNEG
  1158  	OpARM64MNEGW
  1159  	OpARM64MULH
  1160  	OpARM64UMULH
  1161  	OpARM64MULL
  1162  	OpARM64UMULL
  1163  	OpARM64DIV
  1164  	OpARM64UDIV
  1165  	OpARM64DIVW
  1166  	OpARM64UDIVW
  1167  	OpARM64MOD
  1168  	OpARM64UMOD
  1169  	OpARM64MODW
  1170  	OpARM64UMODW
  1171  	OpARM64FADDS
  1172  	OpARM64FADDD
  1173  	OpARM64FSUBS
  1174  	OpARM64FSUBD
  1175  	OpARM64FMULS
  1176  	OpARM64FMULD
  1177  	OpARM64FNMULS
  1178  	OpARM64FNMULD
  1179  	OpARM64FDIVS
  1180  	OpARM64FDIVD
  1181  	OpARM64AND
  1182  	OpARM64ANDconst
  1183  	OpARM64OR
  1184  	OpARM64ORconst
  1185  	OpARM64XOR
  1186  	OpARM64XORconst
  1187  	OpARM64BIC
  1188  	OpARM64EON
  1189  	OpARM64ORN
  1190  	OpARM64LoweredMuluhilo
  1191  	OpARM64MVN
  1192  	OpARM64NEG
  1193  	OpARM64NEGSflags
  1194  	OpARM64NGCzerocarry
  1195  	OpARM64FABSD
  1196  	OpARM64FNEGS
  1197  	OpARM64FNEGD
  1198  	OpARM64FSQRTD
  1199  	OpARM64REV
  1200  	OpARM64REVW
  1201  	OpARM64REV16W
  1202  	OpARM64RBIT
  1203  	OpARM64RBITW
  1204  	OpARM64CLZ
  1205  	OpARM64CLZW
  1206  	OpARM64VCNT
  1207  	OpARM64VUADDLV
  1208  	OpARM64LoweredRound32F
  1209  	OpARM64LoweredRound64F
  1210  	OpARM64FMADDS
  1211  	OpARM64FMADDD
  1212  	OpARM64FNMADDS
  1213  	OpARM64FNMADDD
  1214  	OpARM64FMSUBS
  1215  	OpARM64FMSUBD
  1216  	OpARM64FNMSUBS
  1217  	OpARM64FNMSUBD
  1218  	OpARM64MADD
  1219  	OpARM64MADDW
  1220  	OpARM64MSUB
  1221  	OpARM64MSUBW
  1222  	OpARM64SLL
  1223  	OpARM64SLLconst
  1224  	OpARM64SRL
  1225  	OpARM64SRLconst
  1226  	OpARM64SRA
  1227  	OpARM64SRAconst
  1228  	OpARM64ROR
  1229  	OpARM64RORW
  1230  	OpARM64RORconst
  1231  	OpARM64RORWconst
  1232  	OpARM64EXTRconst
  1233  	OpARM64EXTRWconst
  1234  	OpARM64CMP
  1235  	OpARM64CMPconst
  1236  	OpARM64CMPW
  1237  	OpARM64CMPWconst
  1238  	OpARM64CMN
  1239  	OpARM64CMNconst
  1240  	OpARM64CMNW
  1241  	OpARM64CMNWconst
  1242  	OpARM64TST
  1243  	OpARM64TSTconst
  1244  	OpARM64TSTW
  1245  	OpARM64TSTWconst
  1246  	OpARM64FCMPS
  1247  	OpARM64FCMPD
  1248  	OpARM64FCMPS0
  1249  	OpARM64FCMPD0
  1250  	OpARM64MVNshiftLL
  1251  	OpARM64MVNshiftRL
  1252  	OpARM64MVNshiftRA
  1253  	OpARM64NEGshiftLL
  1254  	OpARM64NEGshiftRL
  1255  	OpARM64NEGshiftRA
  1256  	OpARM64ADDshiftLL
  1257  	OpARM64ADDshiftRL
  1258  	OpARM64ADDshiftRA
  1259  	OpARM64SUBshiftLL
  1260  	OpARM64SUBshiftRL
  1261  	OpARM64SUBshiftRA
  1262  	OpARM64ANDshiftLL
  1263  	OpARM64ANDshiftRL
  1264  	OpARM64ANDshiftRA
  1265  	OpARM64ORshiftLL
  1266  	OpARM64ORshiftRL
  1267  	OpARM64ORshiftRA
  1268  	OpARM64XORshiftLL
  1269  	OpARM64XORshiftRL
  1270  	OpARM64XORshiftRA
  1271  	OpARM64BICshiftLL
  1272  	OpARM64BICshiftRL
  1273  	OpARM64BICshiftRA
  1274  	OpARM64EONshiftLL
  1275  	OpARM64EONshiftRL
  1276  	OpARM64EONshiftRA
  1277  	OpARM64ORNshiftLL
  1278  	OpARM64ORNshiftRL
  1279  	OpARM64ORNshiftRA
  1280  	OpARM64CMPshiftLL
  1281  	OpARM64CMPshiftRL
  1282  	OpARM64CMPshiftRA
  1283  	OpARM64CMNshiftLL
  1284  	OpARM64CMNshiftRL
  1285  	OpARM64CMNshiftRA
  1286  	OpARM64TSTshiftLL
  1287  	OpARM64TSTshiftRL
  1288  	OpARM64TSTshiftRA
  1289  	OpARM64BFI
  1290  	OpARM64BFXIL
  1291  	OpARM64SBFIZ
  1292  	OpARM64SBFX
  1293  	OpARM64UBFIZ
  1294  	OpARM64UBFX
  1295  	OpARM64MOVDconst
  1296  	OpARM64FMOVSconst
  1297  	OpARM64FMOVDconst
  1298  	OpARM64MOVDaddr
  1299  	OpARM64MOVBload
  1300  	OpARM64MOVBUload
  1301  	OpARM64MOVHload
  1302  	OpARM64MOVHUload
  1303  	OpARM64MOVWload
  1304  	OpARM64MOVWUload
  1305  	OpARM64MOVDload
  1306  	OpARM64FMOVSload
  1307  	OpARM64FMOVDload
  1308  	OpARM64MOVDloadidx
  1309  	OpARM64MOVWloadidx
  1310  	OpARM64MOVWUloadidx
  1311  	OpARM64MOVHloadidx
  1312  	OpARM64MOVHUloadidx
  1313  	OpARM64MOVBloadidx
  1314  	OpARM64MOVBUloadidx
  1315  	OpARM64FMOVSloadidx
  1316  	OpARM64FMOVDloadidx
  1317  	OpARM64MOVHloadidx2
  1318  	OpARM64MOVHUloadidx2
  1319  	OpARM64MOVWloadidx4
  1320  	OpARM64MOVWUloadidx4
  1321  	OpARM64MOVDloadidx8
  1322  	OpARM64MOVBstore
  1323  	OpARM64MOVHstore
  1324  	OpARM64MOVWstore
  1325  	OpARM64MOVDstore
  1326  	OpARM64STP
  1327  	OpARM64FMOVSstore
  1328  	OpARM64FMOVDstore
  1329  	OpARM64MOVBstoreidx
  1330  	OpARM64MOVHstoreidx
  1331  	OpARM64MOVWstoreidx
  1332  	OpARM64MOVDstoreidx
  1333  	OpARM64FMOVSstoreidx
  1334  	OpARM64FMOVDstoreidx
  1335  	OpARM64MOVHstoreidx2
  1336  	OpARM64MOVWstoreidx4
  1337  	OpARM64MOVDstoreidx8
  1338  	OpARM64MOVBstorezero
  1339  	OpARM64MOVHstorezero
  1340  	OpARM64MOVWstorezero
  1341  	OpARM64MOVDstorezero
  1342  	OpARM64MOVQstorezero
  1343  	OpARM64MOVBstorezeroidx
  1344  	OpARM64MOVHstorezeroidx
  1345  	OpARM64MOVWstorezeroidx
  1346  	OpARM64MOVDstorezeroidx
  1347  	OpARM64MOVHstorezeroidx2
  1348  	OpARM64MOVWstorezeroidx4
  1349  	OpARM64MOVDstorezeroidx8
  1350  	OpARM64FMOVDgpfp
  1351  	OpARM64FMOVDfpgp
  1352  	OpARM64FMOVSgpfp
  1353  	OpARM64FMOVSfpgp
  1354  	OpARM64MOVBreg
  1355  	OpARM64MOVBUreg
  1356  	OpARM64MOVHreg
  1357  	OpARM64MOVHUreg
  1358  	OpARM64MOVWreg
  1359  	OpARM64MOVWUreg
  1360  	OpARM64MOVDreg
  1361  	OpARM64MOVDnop
  1362  	OpARM64SCVTFWS
  1363  	OpARM64SCVTFWD
  1364  	OpARM64UCVTFWS
  1365  	OpARM64UCVTFWD
  1366  	OpARM64SCVTFS
  1367  	OpARM64SCVTFD
  1368  	OpARM64UCVTFS
  1369  	OpARM64UCVTFD
  1370  	OpARM64FCVTZSSW
  1371  	OpARM64FCVTZSDW
  1372  	OpARM64FCVTZUSW
  1373  	OpARM64FCVTZUDW
  1374  	OpARM64FCVTZSS
  1375  	OpARM64FCVTZSD
  1376  	OpARM64FCVTZUS
  1377  	OpARM64FCVTZUD
  1378  	OpARM64FCVTSD
  1379  	OpARM64FCVTDS
  1380  	OpARM64FRINTAD
  1381  	OpARM64FRINTMD
  1382  	OpARM64FRINTND
  1383  	OpARM64FRINTPD
  1384  	OpARM64FRINTZD
  1385  	OpARM64CSEL
  1386  	OpARM64CSEL0
  1387  	OpARM64CALLstatic
  1388  	OpARM64CALLclosure
  1389  	OpARM64CALLinter
  1390  	OpARM64LoweredNilCheck
  1391  	OpARM64Equal
  1392  	OpARM64NotEqual
  1393  	OpARM64LessThan
  1394  	OpARM64LessEqual
  1395  	OpARM64GreaterThan
  1396  	OpARM64GreaterEqual
  1397  	OpARM64LessThanU
  1398  	OpARM64LessEqualU
  1399  	OpARM64GreaterThanU
  1400  	OpARM64GreaterEqualU
  1401  	OpARM64LessThanF
  1402  	OpARM64LessEqualF
  1403  	OpARM64GreaterThanF
  1404  	OpARM64GreaterEqualF
  1405  	OpARM64DUFFZERO
  1406  	OpARM64LoweredZero
  1407  	OpARM64DUFFCOPY
  1408  	OpARM64LoweredMove
  1409  	OpARM64LoweredGetClosurePtr
  1410  	OpARM64LoweredGetCallerSP
  1411  	OpARM64LoweredGetCallerPC
  1412  	OpARM64FlagEQ
  1413  	OpARM64FlagLT_ULT
  1414  	OpARM64FlagLT_UGT
  1415  	OpARM64FlagGT_UGT
  1416  	OpARM64FlagGT_ULT
  1417  	OpARM64InvertFlags
  1418  	OpARM64LDAR
  1419  	OpARM64LDARB
  1420  	OpARM64LDARW
  1421  	OpARM64STLR
  1422  	OpARM64STLRW
  1423  	OpARM64LoweredAtomicExchange64
  1424  	OpARM64LoweredAtomicExchange32
  1425  	OpARM64LoweredAtomicAdd64
  1426  	OpARM64LoweredAtomicAdd32
  1427  	OpARM64LoweredAtomicAdd64Variant
  1428  	OpARM64LoweredAtomicAdd32Variant
  1429  	OpARM64LoweredAtomicCas64
  1430  	OpARM64LoweredAtomicCas32
  1431  	OpARM64LoweredAtomicAnd8
  1432  	OpARM64LoweredAtomicOr8
  1433  	OpARM64LoweredWB
  1434  	OpARM64LoweredPanicBoundsA
  1435  	OpARM64LoweredPanicBoundsB
  1436  	OpARM64LoweredPanicBoundsC
  1437  
  1438  	OpMIPSADD
  1439  	OpMIPSADDconst
  1440  	OpMIPSSUB
  1441  	OpMIPSSUBconst
  1442  	OpMIPSMUL
  1443  	OpMIPSMULT
  1444  	OpMIPSMULTU
  1445  	OpMIPSDIV
  1446  	OpMIPSDIVU
  1447  	OpMIPSADDF
  1448  	OpMIPSADDD
  1449  	OpMIPSSUBF
  1450  	OpMIPSSUBD
  1451  	OpMIPSMULF
  1452  	OpMIPSMULD
  1453  	OpMIPSDIVF
  1454  	OpMIPSDIVD
  1455  	OpMIPSAND
  1456  	OpMIPSANDconst
  1457  	OpMIPSOR
  1458  	OpMIPSORconst
  1459  	OpMIPSXOR
  1460  	OpMIPSXORconst
  1461  	OpMIPSNOR
  1462  	OpMIPSNORconst
  1463  	OpMIPSNEG
  1464  	OpMIPSNEGF
  1465  	OpMIPSNEGD
  1466  	OpMIPSSQRTD
  1467  	OpMIPSSLL
  1468  	OpMIPSSLLconst
  1469  	OpMIPSSRL
  1470  	OpMIPSSRLconst
  1471  	OpMIPSSRA
  1472  	OpMIPSSRAconst
  1473  	OpMIPSCLZ
  1474  	OpMIPSSGT
  1475  	OpMIPSSGTconst
  1476  	OpMIPSSGTzero
  1477  	OpMIPSSGTU
  1478  	OpMIPSSGTUconst
  1479  	OpMIPSSGTUzero
  1480  	OpMIPSCMPEQF
  1481  	OpMIPSCMPEQD
  1482  	OpMIPSCMPGEF
  1483  	OpMIPSCMPGED
  1484  	OpMIPSCMPGTF
  1485  	OpMIPSCMPGTD
  1486  	OpMIPSMOVWconst
  1487  	OpMIPSMOVFconst
  1488  	OpMIPSMOVDconst
  1489  	OpMIPSMOVWaddr
  1490  	OpMIPSMOVBload
  1491  	OpMIPSMOVBUload
  1492  	OpMIPSMOVHload
  1493  	OpMIPSMOVHUload
  1494  	OpMIPSMOVWload
  1495  	OpMIPSMOVFload
  1496  	OpMIPSMOVDload
  1497  	OpMIPSMOVBstore
  1498  	OpMIPSMOVHstore
  1499  	OpMIPSMOVWstore
  1500  	OpMIPSMOVFstore
  1501  	OpMIPSMOVDstore
  1502  	OpMIPSMOVBstorezero
  1503  	OpMIPSMOVHstorezero
  1504  	OpMIPSMOVWstorezero
  1505  	OpMIPSMOVBreg
  1506  	OpMIPSMOVBUreg
  1507  	OpMIPSMOVHreg
  1508  	OpMIPSMOVHUreg
  1509  	OpMIPSMOVWreg
  1510  	OpMIPSMOVWnop
  1511  	OpMIPSCMOVZ
  1512  	OpMIPSCMOVZzero
  1513  	OpMIPSMOVWF
  1514  	OpMIPSMOVWD
  1515  	OpMIPSTRUNCFW
  1516  	OpMIPSTRUNCDW
  1517  	OpMIPSMOVFD
  1518  	OpMIPSMOVDF
  1519  	OpMIPSCALLstatic
  1520  	OpMIPSCALLclosure
  1521  	OpMIPSCALLinter
  1522  	OpMIPSLoweredAtomicLoad
  1523  	OpMIPSLoweredAtomicStore
  1524  	OpMIPSLoweredAtomicStorezero
  1525  	OpMIPSLoweredAtomicExchange
  1526  	OpMIPSLoweredAtomicAdd
  1527  	OpMIPSLoweredAtomicAddconst
  1528  	OpMIPSLoweredAtomicCas
  1529  	OpMIPSLoweredAtomicAnd
  1530  	OpMIPSLoweredAtomicOr
  1531  	OpMIPSLoweredZero
  1532  	OpMIPSLoweredMove
  1533  	OpMIPSLoweredNilCheck
  1534  	OpMIPSFPFlagTrue
  1535  	OpMIPSFPFlagFalse
  1536  	OpMIPSLoweredGetClosurePtr
  1537  	OpMIPSLoweredGetCallerSP
  1538  	OpMIPSLoweredGetCallerPC
  1539  	OpMIPSLoweredWB
  1540  	OpMIPSLoweredPanicBoundsA
  1541  	OpMIPSLoweredPanicBoundsB
  1542  	OpMIPSLoweredPanicBoundsC
  1543  	OpMIPSLoweredPanicExtendA
  1544  	OpMIPSLoweredPanicExtendB
  1545  	OpMIPSLoweredPanicExtendC
  1546  
  1547  	OpMIPS64ADDV
  1548  	OpMIPS64ADDVconst
  1549  	OpMIPS64SUBV
  1550  	OpMIPS64SUBVconst
  1551  	OpMIPS64MULV
  1552  	OpMIPS64MULVU
  1553  	OpMIPS64DIVV
  1554  	OpMIPS64DIVVU
  1555  	OpMIPS64ADDF
  1556  	OpMIPS64ADDD
  1557  	OpMIPS64SUBF
  1558  	OpMIPS64SUBD
  1559  	OpMIPS64MULF
  1560  	OpMIPS64MULD
  1561  	OpMIPS64DIVF
  1562  	OpMIPS64DIVD
  1563  	OpMIPS64AND
  1564  	OpMIPS64ANDconst
  1565  	OpMIPS64OR
  1566  	OpMIPS64ORconst
  1567  	OpMIPS64XOR
  1568  	OpMIPS64XORconst
  1569  	OpMIPS64NOR
  1570  	OpMIPS64NORconst
  1571  	OpMIPS64NEGV
  1572  	OpMIPS64NEGF
  1573  	OpMIPS64NEGD
  1574  	OpMIPS64SQRTD
  1575  	OpMIPS64SLLV
  1576  	OpMIPS64SLLVconst
  1577  	OpMIPS64SRLV
  1578  	OpMIPS64SRLVconst
  1579  	OpMIPS64SRAV
  1580  	OpMIPS64SRAVconst
  1581  	OpMIPS64SGT
  1582  	OpMIPS64SGTconst
  1583  	OpMIPS64SGTU
  1584  	OpMIPS64SGTUconst
  1585  	OpMIPS64CMPEQF
  1586  	OpMIPS64CMPEQD
  1587  	OpMIPS64CMPGEF
  1588  	OpMIPS64CMPGED
  1589  	OpMIPS64CMPGTF
  1590  	OpMIPS64CMPGTD
  1591  	OpMIPS64MOVVconst
  1592  	OpMIPS64MOVFconst
  1593  	OpMIPS64MOVDconst
  1594  	OpMIPS64MOVVaddr
  1595  	OpMIPS64MOVBload
  1596  	OpMIPS64MOVBUload
  1597  	OpMIPS64MOVHload
  1598  	OpMIPS64MOVHUload
  1599  	OpMIPS64MOVWload
  1600  	OpMIPS64MOVWUload
  1601  	OpMIPS64MOVVload
  1602  	OpMIPS64MOVFload
  1603  	OpMIPS64MOVDload
  1604  	OpMIPS64MOVBstore
  1605  	OpMIPS64MOVHstore
  1606  	OpMIPS64MOVWstore
  1607  	OpMIPS64MOVVstore
  1608  	OpMIPS64MOVFstore
  1609  	OpMIPS64MOVDstore
  1610  	OpMIPS64MOVBstorezero
  1611  	OpMIPS64MOVHstorezero
  1612  	OpMIPS64MOVWstorezero
  1613  	OpMIPS64MOVVstorezero
  1614  	OpMIPS64MOVBreg
  1615  	OpMIPS64MOVBUreg
  1616  	OpMIPS64MOVHreg
  1617  	OpMIPS64MOVHUreg
  1618  	OpMIPS64MOVWreg
  1619  	OpMIPS64MOVWUreg
  1620  	OpMIPS64MOVVreg
  1621  	OpMIPS64MOVVnop
  1622  	OpMIPS64MOVWF
  1623  	OpMIPS64MOVWD
  1624  	OpMIPS64MOVVF
  1625  	OpMIPS64MOVVD
  1626  	OpMIPS64TRUNCFW
  1627  	OpMIPS64TRUNCDW
  1628  	OpMIPS64TRUNCFV
  1629  	OpMIPS64TRUNCDV
  1630  	OpMIPS64MOVFD
  1631  	OpMIPS64MOVDF
  1632  	OpMIPS64CALLstatic
  1633  	OpMIPS64CALLclosure
  1634  	OpMIPS64CALLinter
  1635  	OpMIPS64DUFFZERO
  1636  	OpMIPS64LoweredZero
  1637  	OpMIPS64LoweredMove
  1638  	OpMIPS64LoweredAtomicLoad8
  1639  	OpMIPS64LoweredAtomicLoad32
  1640  	OpMIPS64LoweredAtomicLoad64
  1641  	OpMIPS64LoweredAtomicStore32
  1642  	OpMIPS64LoweredAtomicStore64
  1643  	OpMIPS64LoweredAtomicStorezero32
  1644  	OpMIPS64LoweredAtomicStorezero64
  1645  	OpMIPS64LoweredAtomicExchange32
  1646  	OpMIPS64LoweredAtomicExchange64
  1647  	OpMIPS64LoweredAtomicAdd32
  1648  	OpMIPS64LoweredAtomicAdd64
  1649  	OpMIPS64LoweredAtomicAddconst32
  1650  	OpMIPS64LoweredAtomicAddconst64
  1651  	OpMIPS64LoweredAtomicCas32
  1652  	OpMIPS64LoweredAtomicCas64
  1653  	OpMIPS64LoweredNilCheck
  1654  	OpMIPS64FPFlagTrue
  1655  	OpMIPS64FPFlagFalse
  1656  	OpMIPS64LoweredGetClosurePtr
  1657  	OpMIPS64LoweredGetCallerSP
  1658  	OpMIPS64LoweredGetCallerPC
  1659  	OpMIPS64LoweredWB
  1660  	OpMIPS64LoweredPanicBoundsA
  1661  	OpMIPS64LoweredPanicBoundsB
  1662  	OpMIPS64LoweredPanicBoundsC
  1663  
  1664  	OpPPC64ADD
  1665  	OpPPC64ADDconst
  1666  	OpPPC64FADD
  1667  	OpPPC64FADDS
  1668  	OpPPC64SUB
  1669  	OpPPC64FSUB
  1670  	OpPPC64FSUBS
  1671  	OpPPC64MULLD
  1672  	OpPPC64MULLW
  1673  	OpPPC64MULHD
  1674  	OpPPC64MULHW
  1675  	OpPPC64MULHDU
  1676  	OpPPC64MULHWU
  1677  	OpPPC64LoweredMuluhilo
  1678  	OpPPC64FMUL
  1679  	OpPPC64FMULS
  1680  	OpPPC64FMADD
  1681  	OpPPC64FMADDS
  1682  	OpPPC64FMSUB
  1683  	OpPPC64FMSUBS
  1684  	OpPPC64SRAD
  1685  	OpPPC64SRAW
  1686  	OpPPC64SRD
  1687  	OpPPC64SRW
  1688  	OpPPC64SLD
  1689  	OpPPC64SLW
  1690  	OpPPC64ROTL
  1691  	OpPPC64ROTLW
  1692  	OpPPC64LoweredAdd64Carry
  1693  	OpPPC64ADDconstForCarry
  1694  	OpPPC64MaskIfNotCarry
  1695  	OpPPC64SRADconst
  1696  	OpPPC64SRAWconst
  1697  	OpPPC64SRDconst
  1698  	OpPPC64SRWconst
  1699  	OpPPC64SLDconst
  1700  	OpPPC64SLWconst
  1701  	OpPPC64ROTLconst
  1702  	OpPPC64ROTLWconst
  1703  	OpPPC64CNTLZD
  1704  	OpPPC64CNTLZW
  1705  	OpPPC64CNTTZD
  1706  	OpPPC64CNTTZW
  1707  	OpPPC64POPCNTD
  1708  	OpPPC64POPCNTW
  1709  	OpPPC64POPCNTB
  1710  	OpPPC64FDIV
  1711  	OpPPC64FDIVS
  1712  	OpPPC64DIVD
  1713  	OpPPC64DIVW
  1714  	OpPPC64DIVDU
  1715  	OpPPC64DIVWU
  1716  	OpPPC64FCTIDZ
  1717  	OpPPC64FCTIWZ
  1718  	OpPPC64FCFID
  1719  	OpPPC64FCFIDS
  1720  	OpPPC64FRSP
  1721  	OpPPC64MFVSRD
  1722  	OpPPC64MTVSRD
  1723  	OpPPC64AND
  1724  	OpPPC64ANDN
  1725  	OpPPC64ANDCC
  1726  	OpPPC64OR
  1727  	OpPPC64ORN
  1728  	OpPPC64ORCC
  1729  	OpPPC64NOR
  1730  	OpPPC64XOR
  1731  	OpPPC64XORCC
  1732  	OpPPC64EQV
  1733  	OpPPC64NEG
  1734  	OpPPC64FNEG
  1735  	OpPPC64FSQRT
  1736  	OpPPC64FSQRTS
  1737  	OpPPC64FFLOOR
  1738  	OpPPC64FCEIL
  1739  	OpPPC64FTRUNC
  1740  	OpPPC64FROUND
  1741  	OpPPC64FABS
  1742  	OpPPC64FNABS
  1743  	OpPPC64FCPSGN
  1744  	OpPPC64ORconst
  1745  	OpPPC64XORconst
  1746  	OpPPC64ANDconst
  1747  	OpPPC64ANDCCconst
  1748  	OpPPC64MOVBreg
  1749  	OpPPC64MOVBZreg
  1750  	OpPPC64MOVHreg
  1751  	OpPPC64MOVHZreg
  1752  	OpPPC64MOVWreg
  1753  	OpPPC64MOVWZreg
  1754  	OpPPC64MOVBZload
  1755  	OpPPC64MOVHload
  1756  	OpPPC64MOVHZload
  1757  	OpPPC64MOVWload
  1758  	OpPPC64MOVWZload
  1759  	OpPPC64MOVDload
  1760  	OpPPC64MOVDBRload
  1761  	OpPPC64MOVWBRload
  1762  	OpPPC64MOVHBRload
  1763  	OpPPC64MOVBZloadidx
  1764  	OpPPC64MOVHloadidx
  1765  	OpPPC64MOVHZloadidx
  1766  	OpPPC64MOVWloadidx
  1767  	OpPPC64MOVWZloadidx
  1768  	OpPPC64MOVDloadidx
  1769  	OpPPC64MOVHBRloadidx
  1770  	OpPPC64MOVWBRloadidx
  1771  	OpPPC64MOVDBRloadidx
  1772  	OpPPC64FMOVDloadidx
  1773  	OpPPC64FMOVSloadidx
  1774  	OpPPC64MOVDBRstore
  1775  	OpPPC64MOVWBRstore
  1776  	OpPPC64MOVHBRstore
  1777  	OpPPC64FMOVDload
  1778  	OpPPC64FMOVSload
  1779  	OpPPC64MOVBstore
  1780  	OpPPC64MOVHstore
  1781  	OpPPC64MOVWstore
  1782  	OpPPC64MOVDstore
  1783  	OpPPC64FMOVDstore
  1784  	OpPPC64FMOVSstore
  1785  	OpPPC64MOVBstoreidx
  1786  	OpPPC64MOVHstoreidx
  1787  	OpPPC64MOVWstoreidx
  1788  	OpPPC64MOVDstoreidx
  1789  	OpPPC64FMOVDstoreidx
  1790  	OpPPC64FMOVSstoreidx
  1791  	OpPPC64MOVHBRstoreidx
  1792  	OpPPC64MOVWBRstoreidx
  1793  	OpPPC64MOVDBRstoreidx
  1794  	OpPPC64MOVBstorezero
  1795  	OpPPC64MOVHstorezero
  1796  	OpPPC64MOVWstorezero
  1797  	OpPPC64MOVDstorezero
  1798  	OpPPC64MOVDaddr
  1799  	OpPPC64MOVDconst
  1800  	OpPPC64FMOVDconst
  1801  	OpPPC64FMOVSconst
  1802  	OpPPC64FCMPU
  1803  	OpPPC64CMP
  1804  	OpPPC64CMPU
  1805  	OpPPC64CMPW
  1806  	OpPPC64CMPWU
  1807  	OpPPC64CMPconst
  1808  	OpPPC64CMPUconst
  1809  	OpPPC64CMPWconst
  1810  	OpPPC64CMPWUconst
  1811  	OpPPC64Equal
  1812  	OpPPC64NotEqual
  1813  	OpPPC64LessThan
  1814  	OpPPC64FLessThan
  1815  	OpPPC64LessEqual
  1816  	OpPPC64FLessEqual
  1817  	OpPPC64GreaterThan
  1818  	OpPPC64FGreaterThan
  1819  	OpPPC64GreaterEqual
  1820  	OpPPC64FGreaterEqual
  1821  	OpPPC64LoweredGetClosurePtr
  1822  	OpPPC64LoweredGetCallerSP
  1823  	OpPPC64LoweredGetCallerPC
  1824  	OpPPC64LoweredNilCheck
  1825  	OpPPC64LoweredRound32F
  1826  	OpPPC64LoweredRound64F
  1827  	OpPPC64CALLstatic
  1828  	OpPPC64CALLclosure
  1829  	OpPPC64CALLinter
  1830  	OpPPC64LoweredZero
  1831  	OpPPC64LoweredMove
  1832  	OpPPC64LoweredAtomicStore32
  1833  	OpPPC64LoweredAtomicStore64
  1834  	OpPPC64LoweredAtomicLoad8
  1835  	OpPPC64LoweredAtomicLoad32
  1836  	OpPPC64LoweredAtomicLoad64
  1837  	OpPPC64LoweredAtomicLoadPtr
  1838  	OpPPC64LoweredAtomicAdd32
  1839  	OpPPC64LoweredAtomicAdd64
  1840  	OpPPC64LoweredAtomicExchange32
  1841  	OpPPC64LoweredAtomicExchange64
  1842  	OpPPC64LoweredAtomicCas64
  1843  	OpPPC64LoweredAtomicCas32
  1844  	OpPPC64LoweredAtomicAnd8
  1845  	OpPPC64LoweredAtomicOr8
  1846  	OpPPC64LoweredWB
  1847  	OpPPC64LoweredPanicBoundsA
  1848  	OpPPC64LoweredPanicBoundsB
  1849  	OpPPC64LoweredPanicBoundsC
  1850  	OpPPC64InvertFlags
  1851  	OpPPC64FlagEQ
  1852  	OpPPC64FlagLT
  1853  	OpPPC64FlagGT
  1854  
  1855  	OpS390XFADDS
  1856  	OpS390XFADD
  1857  	OpS390XFSUBS
  1858  	OpS390XFSUB
  1859  	OpS390XFMULS
  1860  	OpS390XFMUL
  1861  	OpS390XFDIVS
  1862  	OpS390XFDIV
  1863  	OpS390XFNEGS
  1864  	OpS390XFNEG
  1865  	OpS390XFMADDS
  1866  	OpS390XFMADD
  1867  	OpS390XFMSUBS
  1868  	OpS390XFMSUB
  1869  	OpS390XLPDFR
  1870  	OpS390XLNDFR
  1871  	OpS390XCPSDR
  1872  	OpS390XFIDBR
  1873  	OpS390XFMOVSload
  1874  	OpS390XFMOVDload
  1875  	OpS390XFMOVSconst
  1876  	OpS390XFMOVDconst
  1877  	OpS390XFMOVSloadidx
  1878  	OpS390XFMOVDloadidx
  1879  	OpS390XFMOVSstore
  1880  	OpS390XFMOVDstore
  1881  	OpS390XFMOVSstoreidx
  1882  	OpS390XFMOVDstoreidx
  1883  	OpS390XADD
  1884  	OpS390XADDW
  1885  	OpS390XADDconst
  1886  	OpS390XADDWconst
  1887  	OpS390XADDload
  1888  	OpS390XADDWload
  1889  	OpS390XSUB
  1890  	OpS390XSUBW
  1891  	OpS390XSUBconst
  1892  	OpS390XSUBWconst
  1893  	OpS390XSUBload
  1894  	OpS390XSUBWload
  1895  	OpS390XMULLD
  1896  	OpS390XMULLW
  1897  	OpS390XMULLDconst
  1898  	OpS390XMULLWconst
  1899  	OpS390XMULLDload
  1900  	OpS390XMULLWload
  1901  	OpS390XMULHD
  1902  	OpS390XMULHDU
  1903  	OpS390XDIVD
  1904  	OpS390XDIVW
  1905  	OpS390XDIVDU
  1906  	OpS390XDIVWU
  1907  	OpS390XMODD
  1908  	OpS390XMODW
  1909  	OpS390XMODDU
  1910  	OpS390XMODWU
  1911  	OpS390XAND
  1912  	OpS390XANDW
  1913  	OpS390XANDconst
  1914  	OpS390XANDWconst
  1915  	OpS390XANDload
  1916  	OpS390XANDWload
  1917  	OpS390XOR
  1918  	OpS390XORW
  1919  	OpS390XORconst
  1920  	OpS390XORWconst
  1921  	OpS390XORload
  1922  	OpS390XORWload
  1923  	OpS390XXOR
  1924  	OpS390XXORW
  1925  	OpS390XXORconst
  1926  	OpS390XXORWconst
  1927  	OpS390XXORload
  1928  	OpS390XXORWload
  1929  	OpS390XADDC
  1930  	OpS390XADDCconst
  1931  	OpS390XADDE
  1932  	OpS390XSUBC
  1933  	OpS390XSUBE
  1934  	OpS390XCMP
  1935  	OpS390XCMPW
  1936  	OpS390XCMPU
  1937  	OpS390XCMPWU
  1938  	OpS390XCMPconst
  1939  	OpS390XCMPWconst
  1940  	OpS390XCMPUconst
  1941  	OpS390XCMPWUconst
  1942  	OpS390XFCMPS
  1943  	OpS390XFCMP
  1944  	OpS390XSLD
  1945  	OpS390XSLW
  1946  	OpS390XSLDconst
  1947  	OpS390XSLWconst
  1948  	OpS390XSRD
  1949  	OpS390XSRW
  1950  	OpS390XSRDconst
  1951  	OpS390XSRWconst
  1952  	OpS390XSRAD
  1953  	OpS390XSRAW
  1954  	OpS390XSRADconst
  1955  	OpS390XSRAWconst
  1956  	OpS390XRLLG
  1957  	OpS390XRLL
  1958  	OpS390XRLLGconst
  1959  	OpS390XRLLconst
  1960  	OpS390XNEG
  1961  	OpS390XNEGW
  1962  	OpS390XNOT
  1963  	OpS390XNOTW
  1964  	OpS390XFSQRT
  1965  	OpS390XMOVDEQ
  1966  	OpS390XMOVDNE
  1967  	OpS390XMOVDLT
  1968  	OpS390XMOVDLE
  1969  	OpS390XMOVDGT
  1970  	OpS390XMOVDGE
  1971  	OpS390XMOVDGTnoinv
  1972  	OpS390XMOVDGEnoinv
  1973  	OpS390XMOVBreg
  1974  	OpS390XMOVBZreg
  1975  	OpS390XMOVHreg
  1976  	OpS390XMOVHZreg
  1977  	OpS390XMOVWreg
  1978  	OpS390XMOVWZreg
  1979  	OpS390XMOVDreg
  1980  	OpS390XMOVDnop
  1981  	OpS390XMOVDconst
  1982  	OpS390XLDGR
  1983  	OpS390XLGDR
  1984  	OpS390XCFDBRA
  1985  	OpS390XCGDBRA
  1986  	OpS390XCFEBRA
  1987  	OpS390XCGEBRA
  1988  	OpS390XCEFBRA
  1989  	OpS390XCDFBRA
  1990  	OpS390XCEGBRA
  1991  	OpS390XCDGBRA
  1992  	OpS390XLEDBR
  1993  	OpS390XLDEBR
  1994  	OpS390XMOVDaddr
  1995  	OpS390XMOVDaddridx
  1996  	OpS390XMOVBZload
  1997  	OpS390XMOVBload
  1998  	OpS390XMOVHZload
  1999  	OpS390XMOVHload
  2000  	OpS390XMOVWZload
  2001  	OpS390XMOVWload
  2002  	OpS390XMOVDload
  2003  	OpS390XMOVWBR
  2004  	OpS390XMOVDBR
  2005  	OpS390XMOVHBRload
  2006  	OpS390XMOVWBRload
  2007  	OpS390XMOVDBRload
  2008  	OpS390XMOVBstore
  2009  	OpS390XMOVHstore
  2010  	OpS390XMOVWstore
  2011  	OpS390XMOVDstore
  2012  	OpS390XMOVHBRstore
  2013  	OpS390XMOVWBRstore
  2014  	OpS390XMOVDBRstore
  2015  	OpS390XMVC
  2016  	OpS390XMOVBZloadidx
  2017  	OpS390XMOVBloadidx
  2018  	OpS390XMOVHZloadidx
  2019  	OpS390XMOVHloadidx
  2020  	OpS390XMOVWZloadidx
  2021  	OpS390XMOVWloadidx
  2022  	OpS390XMOVDloadidx
  2023  	OpS390XMOVHBRloadidx
  2024  	OpS390XMOVWBRloadidx
  2025  	OpS390XMOVDBRloadidx
  2026  	OpS390XMOVBstoreidx
  2027  	OpS390XMOVHstoreidx
  2028  	OpS390XMOVWstoreidx
  2029  	OpS390XMOVDstoreidx
  2030  	OpS390XMOVHBRstoreidx
  2031  	OpS390XMOVWBRstoreidx
  2032  	OpS390XMOVDBRstoreidx
  2033  	OpS390XMOVBstoreconst
  2034  	OpS390XMOVHstoreconst
  2035  	OpS390XMOVWstoreconst
  2036  	OpS390XMOVDstoreconst
  2037  	OpS390XCLEAR
  2038  	OpS390XCALLstatic
  2039  	OpS390XCALLclosure
  2040  	OpS390XCALLinter
  2041  	OpS390XInvertFlags
  2042  	OpS390XLoweredGetG
  2043  	OpS390XLoweredGetClosurePtr
  2044  	OpS390XLoweredGetCallerSP
  2045  	OpS390XLoweredGetCallerPC
  2046  	OpS390XLoweredNilCheck
  2047  	OpS390XLoweredRound32F
  2048  	OpS390XLoweredRound64F
  2049  	OpS390XLoweredWB
  2050  	OpS390XLoweredPanicBoundsA
  2051  	OpS390XLoweredPanicBoundsB
  2052  	OpS390XLoweredPanicBoundsC
  2053  	OpS390XFlagEQ
  2054  	OpS390XFlagLT
  2055  	OpS390XFlagGT
  2056  	OpS390XFlagOV
  2057  	OpS390XSYNC
  2058  	OpS390XMOVBZatomicload
  2059  	OpS390XMOVWZatomicload
  2060  	OpS390XMOVDatomicload
  2061  	OpS390XMOVWatomicstore
  2062  	OpS390XMOVDatomicstore
  2063  	OpS390XLAA
  2064  	OpS390XLAAG
  2065  	OpS390XAddTupleFirst32
  2066  	OpS390XAddTupleFirst64
  2067  	OpS390XLoweredAtomicCas32
  2068  	OpS390XLoweredAtomicCas64
  2069  	OpS390XLoweredAtomicExchange32
  2070  	OpS390XLoweredAtomicExchange64
  2071  	OpS390XFLOGR
  2072  	OpS390XPOPCNT
  2073  	OpS390XSumBytes2
  2074  	OpS390XSumBytes4
  2075  	OpS390XSumBytes8
  2076  	OpS390XSTMG2
  2077  	OpS390XSTMG3
  2078  	OpS390XSTMG4
  2079  	OpS390XSTM2
  2080  	OpS390XSTM3
  2081  	OpS390XSTM4
  2082  	OpS390XLoweredMove
  2083  	OpS390XLoweredZero
  2084  
  2085  	OpWasmLoweredStaticCall
  2086  	OpWasmLoweredClosureCall
  2087  	OpWasmLoweredInterCall
  2088  	OpWasmLoweredAddr
  2089  	OpWasmLoweredMove
  2090  	OpWasmLoweredZero
  2091  	OpWasmLoweredGetClosurePtr
  2092  	OpWasmLoweredGetCallerPC
  2093  	OpWasmLoweredGetCallerSP
  2094  	OpWasmLoweredNilCheck
  2095  	OpWasmLoweredWB
  2096  	OpWasmLoweredRound32F
  2097  	OpWasmLoweredConvert
  2098  	OpWasmSelect
  2099  	OpWasmI64Load8U
  2100  	OpWasmI64Load8S
  2101  	OpWasmI64Load16U
  2102  	OpWasmI64Load16S
  2103  	OpWasmI64Load32U
  2104  	OpWasmI64Load32S
  2105  	OpWasmI64Load
  2106  	OpWasmI64Store8
  2107  	OpWasmI64Store16
  2108  	OpWasmI64Store32
  2109  	OpWasmI64Store
  2110  	OpWasmF32Load
  2111  	OpWasmF64Load
  2112  	OpWasmF32Store
  2113  	OpWasmF64Store
  2114  	OpWasmI64Const
  2115  	OpWasmF64Const
  2116  	OpWasmI64Eqz
  2117  	OpWasmI64Eq
  2118  	OpWasmI64Ne
  2119  	OpWasmI64LtS
  2120  	OpWasmI64LtU
  2121  	OpWasmI64GtS
  2122  	OpWasmI64GtU
  2123  	OpWasmI64LeS
  2124  	OpWasmI64LeU
  2125  	OpWasmI64GeS
  2126  	OpWasmI64GeU
  2127  	OpWasmF64Eq
  2128  	OpWasmF64Ne
  2129  	OpWasmF64Lt
  2130  	OpWasmF64Gt
  2131  	OpWasmF64Le
  2132  	OpWasmF64Ge
  2133  	OpWasmI64Add
  2134  	OpWasmI64AddConst
  2135  	OpWasmI64Sub
  2136  	OpWasmI64Mul
  2137  	OpWasmI64DivS
  2138  	OpWasmI64DivU
  2139  	OpWasmI64RemS
  2140  	OpWasmI64RemU
  2141  	OpWasmI64And
  2142  	OpWasmI64Or
  2143  	OpWasmI64Xor
  2144  	OpWasmI64Shl
  2145  	OpWasmI64ShrS
  2146  	OpWasmI64ShrU
  2147  	OpWasmF64Neg
  2148  	OpWasmF64Add
  2149  	OpWasmF64Sub
  2150  	OpWasmF64Mul
  2151  	OpWasmF64Div
  2152  	OpWasmI64TruncSatF64S
  2153  	OpWasmI64TruncSatF64U
  2154  	OpWasmF64ConvertI64S
  2155  	OpWasmF64ConvertI64U
  2156  	OpWasmI64Extend8S
  2157  	OpWasmI64Extend16S
  2158  	OpWasmI64Extend32S
  2159  	OpWasmF64Sqrt
  2160  	OpWasmF64Trunc
  2161  	OpWasmF64Ceil
  2162  	OpWasmF64Floor
  2163  	OpWasmF64Nearest
  2164  	OpWasmF64Abs
  2165  	OpWasmF64Copysign
  2166  	OpWasmI64Ctz
  2167  	OpWasmI64Clz
  2168  	OpWasmI64Rotl
  2169  	OpWasmI64Popcnt
  2170  
  2171  	OpAdd8
  2172  	OpAdd16
  2173  	OpAdd32
  2174  	OpAdd64
  2175  	OpAddPtr
  2176  	OpAdd32F
  2177  	OpAdd64F
  2178  	OpSub8
  2179  	OpSub16
  2180  	OpSub32
  2181  	OpSub64
  2182  	OpSubPtr
  2183  	OpSub32F
  2184  	OpSub64F
  2185  	OpMul8
  2186  	OpMul16
  2187  	OpMul32
  2188  	OpMul64
  2189  	OpMul32F
  2190  	OpMul64F
  2191  	OpDiv32F
  2192  	OpDiv64F
  2193  	OpHmul32
  2194  	OpHmul32u
  2195  	OpHmul64
  2196  	OpHmul64u
  2197  	OpMul32uhilo
  2198  	OpMul64uhilo
  2199  	OpMul32uover
  2200  	OpMul64uover
  2201  	OpAvg32u
  2202  	OpAvg64u
  2203  	OpDiv8
  2204  	OpDiv8u
  2205  	OpDiv16
  2206  	OpDiv16u
  2207  	OpDiv32
  2208  	OpDiv32u
  2209  	OpDiv64
  2210  	OpDiv64u
  2211  	OpDiv128u
  2212  	OpMod8
  2213  	OpMod8u
  2214  	OpMod16
  2215  	OpMod16u
  2216  	OpMod32
  2217  	OpMod32u
  2218  	OpMod64
  2219  	OpMod64u
  2220  	OpAnd8
  2221  	OpAnd16
  2222  	OpAnd32
  2223  	OpAnd64
  2224  	OpOr8
  2225  	OpOr16
  2226  	OpOr32
  2227  	OpOr64
  2228  	OpXor8
  2229  	OpXor16
  2230  	OpXor32
  2231  	OpXor64
  2232  	OpLsh8x8
  2233  	OpLsh8x16
  2234  	OpLsh8x32
  2235  	OpLsh8x64
  2236  	OpLsh16x8
  2237  	OpLsh16x16
  2238  	OpLsh16x32
  2239  	OpLsh16x64
  2240  	OpLsh32x8
  2241  	OpLsh32x16
  2242  	OpLsh32x32
  2243  	OpLsh32x64
  2244  	OpLsh64x8
  2245  	OpLsh64x16
  2246  	OpLsh64x32
  2247  	OpLsh64x64
  2248  	OpRsh8x8
  2249  	OpRsh8x16
  2250  	OpRsh8x32
  2251  	OpRsh8x64
  2252  	OpRsh16x8
  2253  	OpRsh16x16
  2254  	OpRsh16x32
  2255  	OpRsh16x64
  2256  	OpRsh32x8
  2257  	OpRsh32x16
  2258  	OpRsh32x32
  2259  	OpRsh32x64
  2260  	OpRsh64x8
  2261  	OpRsh64x16
  2262  	OpRsh64x32
  2263  	OpRsh64x64
  2264  	OpRsh8Ux8
  2265  	OpRsh8Ux16
  2266  	OpRsh8Ux32
  2267  	OpRsh8Ux64
  2268  	OpRsh16Ux8
  2269  	OpRsh16Ux16
  2270  	OpRsh16Ux32
  2271  	OpRsh16Ux64
  2272  	OpRsh32Ux8
  2273  	OpRsh32Ux16
  2274  	OpRsh32Ux32
  2275  	OpRsh32Ux64
  2276  	OpRsh64Ux8
  2277  	OpRsh64Ux16
  2278  	OpRsh64Ux32
  2279  	OpRsh64Ux64
  2280  	OpEq8
  2281  	OpEq16
  2282  	OpEq32
  2283  	OpEq64
  2284  	OpEqPtr
  2285  	OpEqInter
  2286  	OpEqSlice
  2287  	OpEq32F
  2288  	OpEq64F
  2289  	OpNeq8
  2290  	OpNeq16
  2291  	OpNeq32
  2292  	OpNeq64
  2293  	OpNeqPtr
  2294  	OpNeqInter
  2295  	OpNeqSlice
  2296  	OpNeq32F
  2297  	OpNeq64F
  2298  	OpLess8
  2299  	OpLess8U
  2300  	OpLess16
  2301  	OpLess16U
  2302  	OpLess32
  2303  	OpLess32U
  2304  	OpLess64
  2305  	OpLess64U
  2306  	OpLess32F
  2307  	OpLess64F
  2308  	OpLeq8
  2309  	OpLeq8U
  2310  	OpLeq16
  2311  	OpLeq16U
  2312  	OpLeq32
  2313  	OpLeq32U
  2314  	OpLeq64
  2315  	OpLeq64U
  2316  	OpLeq32F
  2317  	OpLeq64F
  2318  	OpGreater8
  2319  	OpGreater8U
  2320  	OpGreater16
  2321  	OpGreater16U
  2322  	OpGreater32
  2323  	OpGreater32U
  2324  	OpGreater64
  2325  	OpGreater64U
  2326  	OpGreater32F
  2327  	OpGreater64F
  2328  	OpGeq8
  2329  	OpGeq8U
  2330  	OpGeq16
  2331  	OpGeq16U
  2332  	OpGeq32
  2333  	OpGeq32U
  2334  	OpGeq64
  2335  	OpGeq64U
  2336  	OpGeq32F
  2337  	OpGeq64F
  2338  	OpCondSelect
  2339  	OpAndB
  2340  	OpOrB
  2341  	OpEqB
  2342  	OpNeqB
  2343  	OpNot
  2344  	OpNeg8
  2345  	OpNeg16
  2346  	OpNeg32
  2347  	OpNeg64
  2348  	OpNeg32F
  2349  	OpNeg64F
  2350  	OpCom8
  2351  	OpCom16
  2352  	OpCom32
  2353  	OpCom64
  2354  	OpCtz8
  2355  	OpCtz16
  2356  	OpCtz32
  2357  	OpCtz64
  2358  	OpCtz8NonZero
  2359  	OpCtz16NonZero
  2360  	OpCtz32NonZero
  2361  	OpCtz64NonZero
  2362  	OpBitLen8
  2363  	OpBitLen16
  2364  	OpBitLen32
  2365  	OpBitLen64
  2366  	OpBswap32
  2367  	OpBswap64
  2368  	OpBitRev8
  2369  	OpBitRev16
  2370  	OpBitRev32
  2371  	OpBitRev64
  2372  	OpPopCount8
  2373  	OpPopCount16
  2374  	OpPopCount32
  2375  	OpPopCount64
  2376  	OpRotateLeft8
  2377  	OpRotateLeft16
  2378  	OpRotateLeft32
  2379  	OpRotateLeft64
  2380  	OpSqrt
  2381  	OpFloor
  2382  	OpCeil
  2383  	OpTrunc
  2384  	OpRound
  2385  	OpRoundToEven
  2386  	OpAbs
  2387  	OpCopysign
  2388  	OpPhi
  2389  	OpCopy
  2390  	OpConvert
  2391  	OpConstBool
  2392  	OpConstString
  2393  	OpConstNil
  2394  	OpConst8
  2395  	OpConst16
  2396  	OpConst32
  2397  	OpConst64
  2398  	OpConst32F
  2399  	OpConst64F
  2400  	OpConstInterface
  2401  	OpConstSlice
  2402  	OpInitMem
  2403  	OpArg
  2404  	OpAddr
  2405  	OpLocalAddr
  2406  	OpSP
  2407  	OpSB
  2408  	OpLoad
  2409  	OpStore
  2410  	OpMove
  2411  	OpZero
  2412  	OpStoreWB
  2413  	OpMoveWB
  2414  	OpZeroWB
  2415  	OpWB
  2416  	OpPanicBounds
  2417  	OpPanicExtend
  2418  	OpClosureCall
  2419  	OpStaticCall
  2420  	OpInterCall
  2421  	OpSignExt8to16
  2422  	OpSignExt8to32
  2423  	OpSignExt8to64
  2424  	OpSignExt16to32
  2425  	OpSignExt16to64
  2426  	OpSignExt32to64
  2427  	OpZeroExt8to16
  2428  	OpZeroExt8to32
  2429  	OpZeroExt8to64
  2430  	OpZeroExt16to32
  2431  	OpZeroExt16to64
  2432  	OpZeroExt32to64
  2433  	OpTrunc16to8
  2434  	OpTrunc32to8
  2435  	OpTrunc32to16
  2436  	OpTrunc64to8
  2437  	OpTrunc64to16
  2438  	OpTrunc64to32
  2439  	OpCvt32to32F
  2440  	OpCvt32to64F
  2441  	OpCvt64to32F
  2442  	OpCvt64to64F
  2443  	OpCvt32Fto32
  2444  	OpCvt32Fto64
  2445  	OpCvt64Fto32
  2446  	OpCvt64Fto64
  2447  	OpCvt32Fto64F
  2448  	OpCvt64Fto32F
  2449  	OpRound32F
  2450  	OpRound64F
  2451  	OpIsNonNil
  2452  	OpIsInBounds
  2453  	OpIsSliceInBounds
  2454  	OpNilCheck
  2455  	OpGetG
  2456  	OpGetClosurePtr
  2457  	OpGetCallerPC
  2458  	OpGetCallerSP
  2459  	OpPtrIndex
  2460  	OpOffPtr
  2461  	OpSliceMake
  2462  	OpSlicePtr
  2463  	OpSliceLen
  2464  	OpSliceCap
  2465  	OpComplexMake
  2466  	OpComplexReal
  2467  	OpComplexImag
  2468  	OpStringMake
  2469  	OpStringPtr
  2470  	OpStringLen
  2471  	OpIMake
  2472  	OpITab
  2473  	OpIData
  2474  	OpStructMake0
  2475  	OpStructMake1
  2476  	OpStructMake2
  2477  	OpStructMake3
  2478  	OpStructMake4
  2479  	OpStructSelect
  2480  	OpArrayMake0
  2481  	OpArrayMake1
  2482  	OpArraySelect
  2483  	OpStoreReg
  2484  	OpLoadReg
  2485  	OpFwdRef
  2486  	OpUnknown
  2487  	OpVarDef
  2488  	OpVarKill
  2489  	OpVarLive
  2490  	OpKeepAlive
  2491  	OpInlMark
  2492  	OpInt64Make
  2493  	OpInt64Hi
  2494  	OpInt64Lo
  2495  	OpAdd32carry
  2496  	OpAdd32withcarry
  2497  	OpSub32carry
  2498  	OpSub32withcarry
  2499  	OpAdd64carry
  2500  	OpSub64borrow
  2501  	OpSignmask
  2502  	OpZeromask
  2503  	OpSlicemask
  2504  	OpCvt32Uto32F
  2505  	OpCvt32Uto64F
  2506  	OpCvt32Fto32U
  2507  	OpCvt64Fto32U
  2508  	OpCvt64Uto32F
  2509  	OpCvt64Uto64F
  2510  	OpCvt32Fto64U
  2511  	OpCvt64Fto64U
  2512  	OpSelect0
  2513  	OpSelect1
  2514  	OpAtomicLoad8
  2515  	OpAtomicLoad32
  2516  	OpAtomicLoad64
  2517  	OpAtomicLoadPtr
  2518  	OpAtomicLoadAcq32
  2519  	OpAtomicStore32
  2520  	OpAtomicStore64
  2521  	OpAtomicStorePtrNoWB
  2522  	OpAtomicStoreRel32
  2523  	OpAtomicExchange32
  2524  	OpAtomicExchange64
  2525  	OpAtomicAdd32
  2526  	OpAtomicAdd64
  2527  	OpAtomicCompareAndSwap32
  2528  	OpAtomicCompareAndSwap64
  2529  	OpAtomicCompareAndSwapRel32
  2530  	OpAtomicAnd8
  2531  	OpAtomicOr8
  2532  	OpAtomicAdd32Variant
  2533  	OpAtomicAdd64Variant
  2534  	OpClobber
  2535  )
  2536  
  2537  var opcodeTable = [...]opInfo{
  2538  	{name: "OpInvalid"},
  2539  
  2540  	{
  2541  		name:         "ADDSS",
  2542  		argLen:       2,
  2543  		commutative:  true,
  2544  		resultInArg0: true,
  2545  		usesScratch:  true,
  2546  		asm:          x86.AADDSS,
  2547  		reg: regInfo{
  2548  			inputs: []inputInfo{
  2549  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2550  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2551  			},
  2552  			outputs: []outputInfo{
  2553  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2554  			},
  2555  		},
  2556  	},
  2557  	{
  2558  		name:         "ADDSD",
  2559  		argLen:       2,
  2560  		commutative:  true,
  2561  		resultInArg0: true,
  2562  		asm:          x86.AADDSD,
  2563  		reg: regInfo{
  2564  			inputs: []inputInfo{
  2565  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2566  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2567  			},
  2568  			outputs: []outputInfo{
  2569  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2570  			},
  2571  		},
  2572  	},
  2573  	{
  2574  		name:         "SUBSS",
  2575  		argLen:       2,
  2576  		resultInArg0: true,
  2577  		usesScratch:  true,
  2578  		asm:          x86.ASUBSS,
  2579  		reg: regInfo{
  2580  			inputs: []inputInfo{
  2581  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2582  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2583  			},
  2584  			outputs: []outputInfo{
  2585  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2586  			},
  2587  		},
  2588  	},
  2589  	{
  2590  		name:         "SUBSD",
  2591  		argLen:       2,
  2592  		resultInArg0: true,
  2593  		asm:          x86.ASUBSD,
  2594  		reg: regInfo{
  2595  			inputs: []inputInfo{
  2596  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2597  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2598  			},
  2599  			outputs: []outputInfo{
  2600  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2601  			},
  2602  		},
  2603  	},
  2604  	{
  2605  		name:         "MULSS",
  2606  		argLen:       2,
  2607  		commutative:  true,
  2608  		resultInArg0: true,
  2609  		usesScratch:  true,
  2610  		asm:          x86.AMULSS,
  2611  		reg: regInfo{
  2612  			inputs: []inputInfo{
  2613  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2614  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2615  			},
  2616  			outputs: []outputInfo{
  2617  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2618  			},
  2619  		},
  2620  	},
  2621  	{
  2622  		name:         "MULSD",
  2623  		argLen:       2,
  2624  		commutative:  true,
  2625  		resultInArg0: true,
  2626  		asm:          x86.AMULSD,
  2627  		reg: regInfo{
  2628  			inputs: []inputInfo{
  2629  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2630  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2631  			},
  2632  			outputs: []outputInfo{
  2633  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2634  			},
  2635  		},
  2636  	},
  2637  	{
  2638  		name:         "DIVSS",
  2639  		argLen:       2,
  2640  		resultInArg0: true,
  2641  		usesScratch:  true,
  2642  		asm:          x86.ADIVSS,
  2643  		reg: regInfo{
  2644  			inputs: []inputInfo{
  2645  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2646  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2647  			},
  2648  			outputs: []outputInfo{
  2649  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2650  			},
  2651  		},
  2652  	},
  2653  	{
  2654  		name:         "DIVSD",
  2655  		argLen:       2,
  2656  		resultInArg0: true,
  2657  		asm:          x86.ADIVSD,
  2658  		reg: regInfo{
  2659  			inputs: []inputInfo{
  2660  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2661  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2662  			},
  2663  			outputs: []outputInfo{
  2664  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2665  			},
  2666  		},
  2667  	},
  2668  	{
  2669  		name:           "MOVSSload",
  2670  		auxType:        auxSymOff,
  2671  		argLen:         2,
  2672  		faultOnNilArg0: true,
  2673  		symEffect:      SymRead,
  2674  		asm:            x86.AMOVSS,
  2675  		reg: regInfo{
  2676  			inputs: []inputInfo{
  2677  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2678  			},
  2679  			outputs: []outputInfo{
  2680  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2681  			},
  2682  		},
  2683  	},
  2684  	{
  2685  		name:           "MOVSDload",
  2686  		auxType:        auxSymOff,
  2687  		argLen:         2,
  2688  		faultOnNilArg0: true,
  2689  		symEffect:      SymRead,
  2690  		asm:            x86.AMOVSD,
  2691  		reg: regInfo{
  2692  			inputs: []inputInfo{
  2693  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2694  			},
  2695  			outputs: []outputInfo{
  2696  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2697  			},
  2698  		},
  2699  	},
  2700  	{
  2701  		name:              "MOVSSconst",
  2702  		auxType:           auxFloat32,
  2703  		argLen:            0,
  2704  		rematerializeable: true,
  2705  		asm:               x86.AMOVSS,
  2706  		reg: regInfo{
  2707  			outputs: []outputInfo{
  2708  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2709  			},
  2710  		},
  2711  	},
  2712  	{
  2713  		name:              "MOVSDconst",
  2714  		auxType:           auxFloat64,
  2715  		argLen:            0,
  2716  		rematerializeable: true,
  2717  		asm:               x86.AMOVSD,
  2718  		reg: regInfo{
  2719  			outputs: []outputInfo{
  2720  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2721  			},
  2722  		},
  2723  	},
  2724  	{
  2725  		name:      "MOVSSloadidx1",
  2726  		auxType:   auxSymOff,
  2727  		argLen:    3,
  2728  		symEffect: SymRead,
  2729  		asm:       x86.AMOVSS,
  2730  		reg: regInfo{
  2731  			inputs: []inputInfo{
  2732  				{1, 255},   // AX CX DX BX SP BP SI DI
  2733  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2734  			},
  2735  			outputs: []outputInfo{
  2736  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2737  			},
  2738  		},
  2739  	},
  2740  	{
  2741  		name:      "MOVSSloadidx4",
  2742  		auxType:   auxSymOff,
  2743  		argLen:    3,
  2744  		symEffect: SymRead,
  2745  		asm:       x86.AMOVSS,
  2746  		reg: regInfo{
  2747  			inputs: []inputInfo{
  2748  				{1, 255},   // AX CX DX BX SP BP SI DI
  2749  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2750  			},
  2751  			outputs: []outputInfo{
  2752  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2753  			},
  2754  		},
  2755  	},
  2756  	{
  2757  		name:      "MOVSDloadidx1",
  2758  		auxType:   auxSymOff,
  2759  		argLen:    3,
  2760  		symEffect: SymRead,
  2761  		asm:       x86.AMOVSD,
  2762  		reg: regInfo{
  2763  			inputs: []inputInfo{
  2764  				{1, 255},   // AX CX DX BX SP BP SI DI
  2765  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2766  			},
  2767  			outputs: []outputInfo{
  2768  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2769  			},
  2770  		},
  2771  	},
  2772  	{
  2773  		name:      "MOVSDloadidx8",
  2774  		auxType:   auxSymOff,
  2775  		argLen:    3,
  2776  		symEffect: SymRead,
  2777  		asm:       x86.AMOVSD,
  2778  		reg: regInfo{
  2779  			inputs: []inputInfo{
  2780  				{1, 255},   // AX CX DX BX SP BP SI DI
  2781  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2782  			},
  2783  			outputs: []outputInfo{
  2784  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2785  			},
  2786  		},
  2787  	},
  2788  	{
  2789  		name:           "MOVSSstore",
  2790  		auxType:        auxSymOff,
  2791  		argLen:         3,
  2792  		faultOnNilArg0: true,
  2793  		symEffect:      SymWrite,
  2794  		asm:            x86.AMOVSS,
  2795  		reg: regInfo{
  2796  			inputs: []inputInfo{
  2797  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2798  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2799  			},
  2800  		},
  2801  	},
  2802  	{
  2803  		name:           "MOVSDstore",
  2804  		auxType:        auxSymOff,
  2805  		argLen:         3,
  2806  		faultOnNilArg0: true,
  2807  		symEffect:      SymWrite,
  2808  		asm:            x86.AMOVSD,
  2809  		reg: regInfo{
  2810  			inputs: []inputInfo{
  2811  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2812  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2813  			},
  2814  		},
  2815  	},
  2816  	{
  2817  		name:      "MOVSSstoreidx1",
  2818  		auxType:   auxSymOff,
  2819  		argLen:    4,
  2820  		symEffect: SymWrite,
  2821  		asm:       x86.AMOVSS,
  2822  		reg: regInfo{
  2823  			inputs: []inputInfo{
  2824  				{1, 255},   // AX CX DX BX SP BP SI DI
  2825  				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2826  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2827  			},
  2828  		},
  2829  	},
  2830  	{
  2831  		name:      "MOVSSstoreidx4",
  2832  		auxType:   auxSymOff,
  2833  		argLen:    4,
  2834  		symEffect: SymWrite,
  2835  		asm:       x86.AMOVSS,
  2836  		reg: regInfo{
  2837  			inputs: []inputInfo{
  2838  				{1, 255},   // AX CX DX BX SP BP SI DI
  2839  				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2840  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2841  			},
  2842  		},
  2843  	},
  2844  	{
  2845  		name:      "MOVSDstoreidx1",
  2846  		auxType:   auxSymOff,
  2847  		argLen:    4,
  2848  		symEffect: SymWrite,
  2849  		asm:       x86.AMOVSD,
  2850  		reg: regInfo{
  2851  			inputs: []inputInfo{
  2852  				{1, 255},   // AX CX DX BX SP BP SI DI
  2853  				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2854  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2855  			},
  2856  		},
  2857  	},
  2858  	{
  2859  		name:      "MOVSDstoreidx8",
  2860  		auxType:   auxSymOff,
  2861  		argLen:    4,
  2862  		symEffect: SymWrite,
  2863  		asm:       x86.AMOVSD,
  2864  		reg: regInfo{
  2865  			inputs: []inputInfo{
  2866  				{1, 255},   // AX CX DX BX SP BP SI DI
  2867  				{2, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2868  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  2869  			},
  2870  		},
  2871  	},
  2872  	{
  2873  		name:           "ADDSSload",
  2874  		auxType:        auxSymOff,
  2875  		argLen:         3,
  2876  		resultInArg0:   true,
  2877  		faultOnNilArg1: true,
  2878  		symEffect:      SymRead,
  2879  		asm:            x86.AADDSS,
  2880  		reg: regInfo{
  2881  			inputs: []inputInfo{
  2882  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2883  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2884  			},
  2885  			outputs: []outputInfo{
  2886  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2887  			},
  2888  		},
  2889  	},
  2890  	{
  2891  		name:           "ADDSDload",
  2892  		auxType:        auxSymOff,
  2893  		argLen:         3,
  2894  		resultInArg0:   true,
  2895  		faultOnNilArg1: true,
  2896  		symEffect:      SymRead,
  2897  		asm:            x86.AADDSD,
  2898  		reg: regInfo{
  2899  			inputs: []inputInfo{
  2900  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2901  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2902  			},
  2903  			outputs: []outputInfo{
  2904  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2905  			},
  2906  		},
  2907  	},
  2908  	{
  2909  		name:           "SUBSSload",
  2910  		auxType:        auxSymOff,
  2911  		argLen:         3,
  2912  		resultInArg0:   true,
  2913  		faultOnNilArg1: true,
  2914  		symEffect:      SymRead,
  2915  		asm:            x86.ASUBSS,
  2916  		reg: regInfo{
  2917  			inputs: []inputInfo{
  2918  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2919  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2920  			},
  2921  			outputs: []outputInfo{
  2922  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2923  			},
  2924  		},
  2925  	},
  2926  	{
  2927  		name:           "SUBSDload",
  2928  		auxType:        auxSymOff,
  2929  		argLen:         3,
  2930  		resultInArg0:   true,
  2931  		faultOnNilArg1: true,
  2932  		symEffect:      SymRead,
  2933  		asm:            x86.ASUBSD,
  2934  		reg: regInfo{
  2935  			inputs: []inputInfo{
  2936  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2937  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2938  			},
  2939  			outputs: []outputInfo{
  2940  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2941  			},
  2942  		},
  2943  	},
  2944  	{
  2945  		name:           "MULSSload",
  2946  		auxType:        auxSymOff,
  2947  		argLen:         3,
  2948  		resultInArg0:   true,
  2949  		faultOnNilArg1: true,
  2950  		symEffect:      SymRead,
  2951  		asm:            x86.AMULSS,
  2952  		reg: regInfo{
  2953  			inputs: []inputInfo{
  2954  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2955  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2956  			},
  2957  			outputs: []outputInfo{
  2958  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2959  			},
  2960  		},
  2961  	},
  2962  	{
  2963  		name:           "MULSDload",
  2964  		auxType:        auxSymOff,
  2965  		argLen:         3,
  2966  		resultInArg0:   true,
  2967  		faultOnNilArg1: true,
  2968  		symEffect:      SymRead,
  2969  		asm:            x86.AMULSD,
  2970  		reg: regInfo{
  2971  			inputs: []inputInfo{
  2972  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2973  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2974  			},
  2975  			outputs: []outputInfo{
  2976  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2977  			},
  2978  		},
  2979  	},
  2980  	{
  2981  		name:           "DIVSSload",
  2982  		auxType:        auxSymOff,
  2983  		argLen:         3,
  2984  		resultInArg0:   true,
  2985  		faultOnNilArg1: true,
  2986  		symEffect:      SymRead,
  2987  		asm:            x86.ADIVSS,
  2988  		reg: regInfo{
  2989  			inputs: []inputInfo{
  2990  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2991  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  2992  			},
  2993  			outputs: []outputInfo{
  2994  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  2995  			},
  2996  		},
  2997  	},
  2998  	{
  2999  		name:           "DIVSDload",
  3000  		auxType:        auxSymOff,
  3001  		argLen:         3,
  3002  		resultInArg0:   true,
  3003  		faultOnNilArg1: true,
  3004  		symEffect:      SymRead,
  3005  		asm:            x86.ADIVSD,
  3006  		reg: regInfo{
  3007  			inputs: []inputInfo{
  3008  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  3009  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  3010  			},
  3011  			outputs: []outputInfo{
  3012  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  3013  			},
  3014  		},
  3015  	},
  3016  	{
  3017  		name:         "ADDL",
  3018  		argLen:       2,
  3019  		commutative:  true,
  3020  		clobberFlags: true,
  3021  		asm:          x86.AADDL,
  3022  		reg: regInfo{
  3023  			inputs: []inputInfo{
  3024  				{1, 239}, // AX CX DX BX BP SI DI
  3025  				{0, 255}, // AX CX DX BX SP BP SI DI
  3026  			},
  3027  			outputs: []outputInfo{
  3028  				{0, 239}, // AX CX DX BX BP SI DI
  3029  			},
  3030  		},
  3031  	},
  3032  	{
  3033  		name:         "ADDLconst",
  3034  		auxType:      auxInt32,
  3035  		argLen:       1,
  3036  		clobberFlags: true,
  3037  		asm:          x86.AADDL,
  3038  		reg: regInfo{
  3039  			inputs: []inputInfo{
  3040  				{0, 255}, // AX CX DX BX SP BP SI DI
  3041  			},
  3042  			outputs: []outputInfo{
  3043  				{0, 239}, // AX CX DX BX BP SI DI
  3044  			},
  3045  		},
  3046  	},
  3047  	{
  3048  		name:         "ADDLcarry",
  3049  		argLen:       2,
  3050  		commutative:  true,
  3051  		resultInArg0: true,
  3052  		asm:          x86.AADDL,
  3053  		reg: regInfo{
  3054  			inputs: []inputInfo{
  3055  				{0, 239}, // AX CX DX BX BP SI DI
  3056  				{1, 239}, // AX CX DX BX BP SI DI
  3057  			},
  3058  			outputs: []outputInfo{
  3059  				{1, 0},
  3060  				{0, 239}, // AX CX DX BX BP SI DI
  3061  			},
  3062  		},
  3063  	},
  3064  	{
  3065  		name:         "ADDLconstcarry",
  3066  		auxType:      auxInt32,
  3067  		argLen:       1,
  3068  		resultInArg0: true,
  3069  		asm:          x86.AADDL,
  3070  		reg: regInfo{
  3071  			inputs: []inputInfo{
  3072  				{0, 239}, // AX CX DX BX BP SI DI
  3073  			},
  3074  			outputs: []outputInfo{
  3075  				{1, 0},
  3076  				{0, 239}, // AX CX DX BX BP SI DI
  3077  			},
  3078  		},
  3079  	},
  3080  	{
  3081  		name:         "ADCL",
  3082  		argLen:       3,
  3083  		commutative:  true,
  3084  		resultInArg0: true,
  3085  		clobberFlags: true,
  3086  		asm:          x86.AADCL,
  3087  		reg: regInfo{
  3088  			inputs: []inputInfo{
  3089  				{0, 239}, // AX CX DX BX BP SI DI
  3090  				{1, 239}, // AX CX DX BX BP SI DI
  3091  			},
  3092  			outputs: []outputInfo{
  3093  				{0, 239}, // AX CX DX BX BP SI DI
  3094  			},
  3095  		},
  3096  	},
  3097  	{
  3098  		name:         "ADCLconst",
  3099  		auxType:      auxInt32,
  3100  		argLen:       2,
  3101  		resultInArg0: true,
  3102  		clobberFlags: true,
  3103  		asm:          x86.AADCL,
  3104  		reg: regInfo{
  3105  			inputs: []inputInfo{
  3106  				{0, 239}, // AX CX DX BX BP SI DI
  3107  			},
  3108  			outputs: []outputInfo{
  3109  				{0, 239}, // AX CX DX BX BP SI DI
  3110  			},
  3111  		},
  3112  	},
  3113  	{
  3114  		name:         "SUBL",
  3115  		argLen:       2,
  3116  		resultInArg0: true,
  3117  		clobberFlags: true,
  3118  		asm:          x86.ASUBL,
  3119  		reg: regInfo{
  3120  			inputs: []inputInfo{
  3121  				{0, 239}, // AX CX DX BX BP SI DI
  3122  				{1, 239}, // AX CX DX BX BP SI DI
  3123  			},
  3124  			outputs: []outputInfo{
  3125  				{0, 239}, // AX CX DX BX BP SI DI
  3126  			},
  3127  		},
  3128  	},
  3129  	{
  3130  		name:         "SUBLconst",
  3131  		auxType:      auxInt32,
  3132  		argLen:       1,
  3133  		resultInArg0: true,
  3134  		clobberFlags: true,
  3135  		asm:          x86.ASUBL,
  3136  		reg: regInfo{
  3137  			inputs: []inputInfo{
  3138  				{0, 239}, // AX CX DX BX BP SI DI
  3139  			},
  3140  			outputs: []outputInfo{
  3141  				{0, 239}, // AX CX DX BX BP SI DI
  3142  			},
  3143  		},
  3144  	},
  3145  	{
  3146  		name:         "SUBLcarry",
  3147  		argLen:       2,
  3148  		resultInArg0: true,
  3149  		asm:          x86.ASUBL,
  3150  		reg: regInfo{
  3151  			inputs: []inputInfo{
  3152  				{0, 239}, // AX CX DX BX BP SI DI
  3153  				{1, 239}, // AX CX DX BX BP SI DI
  3154  			},
  3155  			outputs: []outputInfo{
  3156  				{1, 0},
  3157  				{0, 239}, // AX CX DX BX BP SI DI
  3158  			},
  3159  		},
  3160  	},
  3161  	{
  3162  		name:         "SUBLconstcarry",
  3163  		auxType:      auxInt32,
  3164  		argLen:       1,
  3165  		resultInArg0: true,
  3166  		asm:          x86.ASUBL,
  3167  		reg: regInfo{
  3168  			inputs: []inputInfo{
  3169  				{0, 239}, // AX CX DX BX BP SI DI
  3170  			},
  3171  			outputs: []outputInfo{
  3172  				{1, 0},
  3173  				{0, 239}, // AX CX DX BX BP SI DI
  3174  			},
  3175  		},
  3176  	},
  3177  	{
  3178  		name:         "SBBL",
  3179  		argLen:       3,
  3180  		resultInArg0: true,
  3181  		clobberFlags: true,
  3182  		asm:          x86.ASBBL,
  3183  		reg: regInfo{
  3184  			inputs: []inputInfo{
  3185  				{0, 239}, // AX CX DX BX BP SI DI
  3186  				{1, 239}, // AX CX DX BX BP SI DI
  3187  			},
  3188  			outputs: []outputInfo{
  3189  				{0, 239}, // AX CX DX BX BP SI DI
  3190  			},
  3191  		},
  3192  	},
  3193  	{
  3194  		name:         "SBBLconst",
  3195  		auxType:      auxInt32,
  3196  		argLen:       2,
  3197  		resultInArg0: true,
  3198  		clobberFlags: true,
  3199  		asm:          x86.ASBBL,
  3200  		reg: regInfo{
  3201  			inputs: []inputInfo{
  3202  				{0, 239}, // AX CX DX BX BP SI DI
  3203  			},
  3204  			outputs: []outputInfo{
  3205  				{0, 239}, // AX CX DX BX BP SI DI
  3206  			},
  3207  		},
  3208  	},
  3209  	{
  3210  		name:         "MULL",
  3211  		argLen:       2,
  3212  		commutative:  true,
  3213  		resultInArg0: true,
  3214  		clobberFlags: true,
  3215  		asm:          x86.AIMULL,
  3216  		reg: regInfo{
  3217  			inputs: []inputInfo{
  3218  				{0, 239}, // AX CX DX BX BP SI DI
  3219  				{1, 239}, // AX CX DX BX BP SI DI
  3220  			},
  3221  			outputs: []outputInfo{
  3222  				{0, 239}, // AX CX DX BX BP SI DI
  3223  			},
  3224  		},
  3225  	},
  3226  	{
  3227  		name:         "MULLconst",
  3228  		auxType:      auxInt32,
  3229  		argLen:       1,
  3230  		clobberFlags: true,
  3231  		asm:          x86.AIMUL3L,
  3232  		reg: regInfo{
  3233  			inputs: []inputInfo{
  3234  				{0, 239}, // AX CX DX BX BP SI DI
  3235  			},
  3236  			outputs: []outputInfo{
  3237  				{0, 239}, // AX CX DX BX BP SI DI
  3238  			},
  3239  		},
  3240  	},
  3241  	{
  3242  		name:         "MULLU",
  3243  		argLen:       2,
  3244  		commutative:  true,
  3245  		clobberFlags: true,
  3246  		asm:          x86.AMULL,
  3247  		reg: regInfo{
  3248  			inputs: []inputInfo{
  3249  				{0, 1},   // AX
  3250  				{1, 255}, // AX CX DX BX SP BP SI DI
  3251  			},
  3252  			clobbers: 4, // DX
  3253  			outputs: []outputInfo{
  3254  				{1, 0},
  3255  				{0, 1}, // AX
  3256  			},
  3257  		},
  3258  	},
  3259  	{
  3260  		name:         "HMULL",
  3261  		argLen:       2,
  3262  		commutative:  true,
  3263  		clobberFlags: true,
  3264  		asm:          x86.AIMULL,
  3265  		reg: regInfo{
  3266  			inputs: []inputInfo{
  3267  				{0, 1},   // AX
  3268  				{1, 255}, // AX CX DX BX SP BP SI DI
  3269  			},
  3270  			clobbers: 1, // AX
  3271  			outputs: []outputInfo{
  3272  				{0, 4}, // DX
  3273  			},
  3274  		},
  3275  	},
  3276  	{
  3277  		name:         "HMULLU",
  3278  		argLen:       2,
  3279  		commutative:  true,
  3280  		clobberFlags: true,
  3281  		asm:          x86.AMULL,
  3282  		reg: regInfo{
  3283  			inputs: []inputInfo{
  3284  				{0, 1},   // AX
  3285  				{1, 255}, // AX CX DX BX SP BP SI DI
  3286  			},
  3287  			clobbers: 1, // AX
  3288  			outputs: []outputInfo{
  3289  				{0, 4}, // DX
  3290  			},
  3291  		},
  3292  	},
  3293  	{
  3294  		name:         "MULLQU",
  3295  		argLen:       2,
  3296  		commutative:  true,
  3297  		clobberFlags: true,
  3298  		asm:          x86.AMULL,
  3299  		reg: regInfo{
  3300  			inputs: []inputInfo{
  3301  				{0, 1},   // AX
  3302  				{1, 255}, // AX CX DX BX SP BP SI DI
  3303  			},
  3304  			outputs: []outputInfo{
  3305  				{0, 4}, // DX
  3306  				{1, 1}, // AX
  3307  			},
  3308  		},
  3309  	},
  3310  	{
  3311  		name:         "AVGLU",
  3312  		argLen:       2,
  3313  		commutative:  true,
  3314  		resultInArg0: true,
  3315  		clobberFlags: true,
  3316  		reg: regInfo{
  3317  			inputs: []inputInfo{
  3318  				{0, 239}, // AX CX DX BX BP SI DI
  3319  				{1, 239}, // AX CX DX BX BP SI DI
  3320  			},
  3321  			outputs: []outputInfo{
  3322  				{0, 239}, // AX CX DX BX BP SI DI
  3323  			},
  3324  		},
  3325  	},
  3326  	{
  3327  		name:         "DIVL",
  3328  		auxType:      auxBool,
  3329  		argLen:       2,
  3330  		clobberFlags: true,
  3331  		asm:          x86.AIDIVL,
  3332  		reg: regInfo{
  3333  			inputs: []inputInfo{
  3334  				{0, 1},   // AX
  3335  				{1, 251}, // AX CX BX SP BP SI DI
  3336  			},
  3337  			clobbers: 4, // DX
  3338  			outputs: []outputInfo{
  3339  				{0, 1}, // AX
  3340  			},
  3341  		},
  3342  	},
  3343  	{
  3344  		name:         "DIVW",
  3345  		auxType:      auxBool,
  3346  		argLen:       2,
  3347  		clobberFlags: true,
  3348  		asm:          x86.AIDIVW,
  3349  		reg: regInfo{
  3350  			inputs: []inputInfo{
  3351  				{0, 1},   // AX
  3352  				{1, 251}, // AX CX BX SP BP SI DI
  3353  			},
  3354  			clobbers: 4, // DX
  3355  			outputs: []outputInfo{
  3356  				{0, 1}, // AX
  3357  			},
  3358  		},
  3359  	},
  3360  	{
  3361  		name:         "DIVLU",
  3362  		argLen:       2,
  3363  		clobberFlags: true,
  3364  		asm:          x86.ADIVL,
  3365  		reg: regInfo{
  3366  			inputs: []inputInfo{
  3367  				{0, 1},   // AX
  3368  				{1, 251}, // AX CX BX SP BP SI DI
  3369  			},
  3370  			clobbers: 4, // DX
  3371  			outputs: []outputInfo{
  3372  				{0, 1}, // AX
  3373  			},
  3374  		},
  3375  	},
  3376  	{
  3377  		name:         "DIVWU",
  3378  		argLen:       2,
  3379  		clobberFlags: true,
  3380  		asm:          x86.ADIVW,
  3381  		reg: regInfo{
  3382  			inputs: []inputInfo{
  3383  				{0, 1},   // AX
  3384  				{1, 251}, // AX CX BX SP BP SI DI
  3385  			},
  3386  			clobbers: 4, // DX
  3387  			outputs: []outputInfo{
  3388  				{0, 1}, // AX
  3389  			},
  3390  		},
  3391  	},
  3392  	{
  3393  		name:         "MODL",
  3394  		auxType:      auxBool,
  3395  		argLen:       2,
  3396  		clobberFlags: true,
  3397  		asm:          x86.AIDIVL,
  3398  		reg: regInfo{
  3399  			inputs: []inputInfo{
  3400  				{0, 1},   // AX
  3401  				{1, 251}, // AX CX BX SP BP SI DI
  3402  			},
  3403  			clobbers: 1, // AX
  3404  			outputs: []outputInfo{
  3405  				{0, 4}, // DX
  3406  			},
  3407  		},
  3408  	},
  3409  	{
  3410  		name:         "MODW",
  3411  		auxType:      auxBool,
  3412  		argLen:       2,
  3413  		clobberFlags: true,
  3414  		asm:          x86.AIDIVW,
  3415  		reg: regInfo{
  3416  			inputs: []inputInfo{
  3417  				{0, 1},   // AX
  3418  				{1, 251}, // AX CX BX SP BP SI DI
  3419  			},
  3420  			clobbers: 1, // AX
  3421  			outputs: []outputInfo{
  3422  				{0, 4}, // DX
  3423  			},
  3424  		},
  3425  	},
  3426  	{
  3427  		name:         "MODLU",
  3428  		argLen:       2,
  3429  		clobberFlags: true,
  3430  		asm:          x86.ADIVL,
  3431  		reg: regInfo{
  3432  			inputs: []inputInfo{
  3433  				{0, 1},   // AX
  3434  				{1, 251}, // AX CX BX SP BP SI DI
  3435  			},
  3436  			clobbers: 1, // AX
  3437  			outputs: []outputInfo{
  3438  				{0, 4}, // DX
  3439  			},
  3440  		},
  3441  	},
  3442  	{
  3443  		name:         "MODWU",
  3444  		argLen:       2,
  3445  		clobberFlags: true,
  3446  		asm:          x86.ADIVW,
  3447  		reg: regInfo{
  3448  			inputs: []inputInfo{
  3449  				{0, 1},   // AX
  3450  				{1, 251}, // AX CX BX SP BP SI DI
  3451  			},
  3452  			clobbers: 1, // AX
  3453  			outputs: []outputInfo{
  3454  				{0, 4}, // DX
  3455  			},
  3456  		},
  3457  	},
  3458  	{
  3459  		name:         "ANDL",
  3460  		argLen:       2,
  3461  		commutative:  true,
  3462  		resultInArg0: true,
  3463  		clobberFlags: true,
  3464  		asm:          x86.AANDL,
  3465  		reg: regInfo{
  3466  			inputs: []inputInfo{
  3467  				{0, 239}, // AX CX DX BX BP SI DI
  3468  				{1, 239}, // AX CX DX BX BP SI DI
  3469  			},
  3470  			outputs: []outputInfo{
  3471  				{0, 239}, // AX CX DX BX BP SI DI
  3472  			},
  3473  		},
  3474  	},
  3475  	{
  3476  		name:         "ANDLconst",
  3477  		auxType:      auxInt32,
  3478  		argLen:       1,
  3479  		resultInArg0: true,
  3480  		clobberFlags: true,
  3481  		asm:          x86.AANDL,
  3482  		reg: regInfo{
  3483  			inputs: []inputInfo{
  3484  				{0, 239}, // AX CX DX BX BP SI DI
  3485  			},
  3486  			outputs: []outputInfo{
  3487  				{0, 239}, // AX CX DX BX BP SI DI
  3488  			},
  3489  		},
  3490  	},
  3491  	{
  3492  		name:         "ORL",
  3493  		argLen:       2,
  3494  		commutative:  true,
  3495  		resultInArg0: true,
  3496  		clobberFlags: true,
  3497  		asm:          x86.AORL,
  3498  		reg: regInfo{
  3499  			inputs: []inputInfo{
  3500  				{0, 239}, // AX CX DX BX BP SI DI
  3501  				{1, 239}, // AX CX DX BX BP SI DI
  3502  			},
  3503  			outputs: []outputInfo{
  3504  				{0, 239}, // AX CX DX BX BP SI DI
  3505  			},
  3506  		},
  3507  	},
  3508  	{
  3509  		name:         "ORLconst",
  3510  		auxType:      auxInt32,
  3511  		argLen:       1,
  3512  		resultInArg0: true,
  3513  		clobberFlags: true,
  3514  		asm:          x86.AORL,
  3515  		reg: regInfo{
  3516  			inputs: []inputInfo{
  3517  				{0, 239}, // AX CX DX BX BP SI DI
  3518  			},
  3519  			outputs: []outputInfo{
  3520  				{0, 239}, // AX CX DX BX BP SI DI
  3521  			},
  3522  		},
  3523  	},
  3524  	{
  3525  		name:         "XORL",
  3526  		argLen:       2,
  3527  		commutative:  true,
  3528  		resultInArg0: true,
  3529  		clobberFlags: true,
  3530  		asm:          x86.AXORL,
  3531  		reg: regInfo{
  3532  			inputs: []inputInfo{
  3533  				{0, 239}, // AX CX DX BX BP SI DI
  3534  				{1, 239}, // AX CX DX BX BP SI DI
  3535  			},
  3536  			outputs: []outputInfo{
  3537  				{0, 239}, // AX CX DX BX BP SI DI
  3538  			},
  3539  		},
  3540  	},
  3541  	{
  3542  		name:         "XORLconst",
  3543  		auxType:      auxInt32,
  3544  		argLen:       1,
  3545  		resultInArg0: true,
  3546  		clobberFlags: true,
  3547  		asm:          x86.AXORL,
  3548  		reg: regInfo{
  3549  			inputs: []inputInfo{
  3550  				{0, 239}, // AX CX DX BX BP SI DI
  3551  			},
  3552  			outputs: []outputInfo{
  3553  				{0, 239}, // AX CX DX BX BP SI DI
  3554  			},
  3555  		},
  3556  	},
  3557  	{
  3558  		name:   "CMPL",
  3559  		argLen: 2,
  3560  		asm:    x86.ACMPL,
  3561  		reg: regInfo{
  3562  			inputs: []inputInfo{
  3563  				{0, 255}, // AX CX DX BX SP BP SI DI
  3564  				{1, 255}, // AX CX DX BX SP BP SI DI
  3565  			},
  3566  		},
  3567  	},
  3568  	{
  3569  		name:   "CMPW",
  3570  		argLen: 2,
  3571  		asm:    x86.ACMPW,
  3572  		reg: regInfo{
  3573  			inputs: []inputInfo{
  3574  				{0, 255}, // AX CX DX BX SP BP SI DI
  3575  				{1, 255}, // AX CX DX BX SP BP SI DI
  3576  			},
  3577  		},
  3578  	},
  3579  	{
  3580  		name:   "CMPB",
  3581  		argLen: 2,
  3582  		asm:    x86.ACMPB,
  3583  		reg: regInfo{
  3584  			inputs: []inputInfo{
  3585  				{0, 255}, // AX CX DX BX SP BP SI DI
  3586  				{1, 255}, // AX CX DX BX SP BP SI DI
  3587  			},
  3588  		},
  3589  	},
  3590  	{
  3591  		name:    "CMPLconst",
  3592  		auxType: auxInt32,
  3593  		argLen:  1,
  3594  		asm:     x86.ACMPL,
  3595  		reg: regInfo{
  3596  			inputs: []inputInfo{
  3597  				{0, 255}, // AX CX DX BX SP BP SI DI
  3598  			},
  3599  		},
  3600  	},
  3601  	{
  3602  		name:    "CMPWconst",
  3603  		auxType: auxInt16,
  3604  		argLen:  1,
  3605  		asm:     x86.ACMPW,
  3606  		reg: regInfo{
  3607  			inputs: []inputInfo{
  3608  				{0, 255}, // AX CX DX BX SP BP SI DI
  3609  			},
  3610  		},
  3611  	},
  3612  	{
  3613  		name:    "CMPBconst",
  3614  		auxType: auxInt8,
  3615  		argLen:  1,
  3616  		asm:     x86.ACMPB,
  3617  		reg: regInfo{
  3618  			inputs: []inputInfo{
  3619  				{0, 255}, // AX CX DX BX SP BP SI DI
  3620  			},
  3621  		},
  3622  	},
  3623  	{
  3624  		name:           "CMPLload",
  3625  		auxType:        auxSymOff,
  3626  		argLen:         3,
  3627  		faultOnNilArg0: true,
  3628  		symEffect:      SymRead,
  3629  		asm:            x86.ACMPL,
  3630  		reg: regInfo{
  3631  			inputs: []inputInfo{
  3632  				{1, 255},   // AX CX DX BX SP BP SI DI
  3633  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  3634  			},
  3635  		},
  3636  	},
  3637  	{
  3638  		name:           "CMPWload",
  3639  		auxType:        auxSymOff,
  3640  		argLen:         3,
  3641  		faultOnNilArg0: true,
  3642  		symEffect:      SymRead,
  3643  		asm:            x86.ACMPW,
  3644  		reg: regInfo{
  3645  			inputs: []inputInfo{
  3646  				{1, 255},   // AX CX DX BX SP BP SI DI
  3647  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  3648  			},
  3649  		},
  3650  	},
  3651  	{
  3652  		name:           "CMPBload",
  3653  		auxType:        auxSymOff,
  3654  		argLen:         3,
  3655  		faultOnNilArg0: true,
  3656  		symEffect:      SymRead,
  3657  		asm:            x86.ACMPB,
  3658  		reg: regInfo{
  3659  			inputs: []inputInfo{
  3660  				{1, 255},   // AX CX DX BX SP BP SI DI
  3661  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  3662  			},
  3663  		},
  3664  	},
  3665  	{
  3666  		name:           "CMPLconstload",
  3667  		auxType:        auxSymValAndOff,
  3668  		argLen:         2,
  3669  		faultOnNilArg0: true,
  3670  		symEffect:      SymRead,
  3671  		asm:            x86.ACMPL,
  3672  		reg: regInfo{
  3673  			inputs: []inputInfo{
  3674  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  3675  			},
  3676  		},
  3677  	},
  3678  	{
  3679  		name:           "CMPWconstload",
  3680  		auxType:        auxSymValAndOff,
  3681  		argLen:         2,
  3682  		faultOnNilArg0: true,
  3683  		symEffect:      SymRead,
  3684  		asm:            x86.ACMPW,
  3685  		reg: regInfo{
  3686  			inputs: []inputInfo{
  3687  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  3688  			},
  3689  		},
  3690  	},
  3691  	{
  3692  		name:           "CMPBconstload",
  3693  		auxType:        auxSymValAndOff,
  3694  		argLen:         2,
  3695  		faultOnNilArg0: true,
  3696  		symEffect:      SymRead,
  3697  		asm:            x86.ACMPB,
  3698  		reg: regInfo{
  3699  			inputs: []inputInfo{
  3700  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  3701  			},
  3702  		},
  3703  	},
  3704  	{
  3705  		name:        "UCOMISS",
  3706  		argLen:      2,
  3707  		usesScratch: true,
  3708  		asm:         x86.AUCOMISS,
  3709  		reg: regInfo{
  3710  			inputs: []inputInfo{
  3711  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  3712  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  3713  			},
  3714  		},
  3715  	},
  3716  	{
  3717  		name:        "UCOMISD",
  3718  		argLen:      2,
  3719  		usesScratch: true,
  3720  		asm:         x86.AUCOMISD,
  3721  		reg: regInfo{
  3722  			inputs: []inputInfo{
  3723  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  3724  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  3725  			},
  3726  		},
  3727  	},
  3728  	{
  3729  		name:        "TESTL",
  3730  		argLen:      2,
  3731  		commutative: true,
  3732  		asm:         x86.ATESTL,
  3733  		reg: regInfo{
  3734  			inputs: []inputInfo{
  3735  				{0, 255}, // AX CX DX BX SP BP SI DI
  3736  				{1, 255}, // AX CX DX BX SP BP SI DI
  3737  			},
  3738  		},
  3739  	},
  3740  	{
  3741  		name:        "TESTW",
  3742  		argLen:      2,
  3743  		commutative: true,
  3744  		asm:         x86.ATESTW,
  3745  		reg: regInfo{
  3746  			inputs: []inputInfo{
  3747  				{0, 255}, // AX CX DX BX SP BP SI DI
  3748  				{1, 255}, // AX CX DX BX SP BP SI DI
  3749  			},
  3750  		},
  3751  	},
  3752  	{
  3753  		name:        "TESTB",
  3754  		argLen:      2,
  3755  		commutative: true,
  3756  		asm:         x86.ATESTB,
  3757  		reg: regInfo{
  3758  			inputs: []inputInfo{
  3759  				{0, 255}, // AX CX DX BX SP BP SI DI
  3760  				{1, 255}, // AX CX DX BX SP BP SI DI
  3761  			},
  3762  		},
  3763  	},
  3764  	{
  3765  		name:    "TESTLconst",
  3766  		auxType: auxInt32,
  3767  		argLen:  1,
  3768  		asm:     x86.ATESTL,
  3769  		reg: regInfo{
  3770  			inputs: []inputInfo{
  3771  				{0, 255}, // AX CX DX BX SP BP SI DI
  3772  			},
  3773  		},
  3774  	},
  3775  	{
  3776  		name:    "TESTWconst",
  3777  		auxType: auxInt16,
  3778  		argLen:  1,
  3779  		asm:     x86.ATESTW,
  3780  		reg: regInfo{
  3781  			inputs: []inputInfo{
  3782  				{0, 255}, // AX CX DX BX SP BP SI DI
  3783  			},
  3784  		},
  3785  	},
  3786  	{
  3787  		name:    "TESTBconst",
  3788  		auxType: auxInt8,
  3789  		argLen:  1,
  3790  		asm:     x86.ATESTB,
  3791  		reg: regInfo{
  3792  			inputs: []inputInfo{
  3793  				{0, 255}, // AX CX DX BX SP BP SI DI
  3794  			},
  3795  		},
  3796  	},
  3797  	{
  3798  		name:         "SHLL",
  3799  		argLen:       2,
  3800  		resultInArg0: true,
  3801  		clobberFlags: true,
  3802  		asm:          x86.ASHLL,
  3803  		reg: regInfo{
  3804  			inputs: []inputInfo{
  3805  				{1, 2},   // CX
  3806  				{0, 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:         "SHLLconst",
  3815  		auxType:      auxInt32,
  3816  		argLen:       1,
  3817  		resultInArg0: true,
  3818  		clobberFlags: true,
  3819  		asm:          x86.ASHLL,
  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:         "SHRL",
  3831  		argLen:       2,
  3832  		resultInArg0: true,
  3833  		clobberFlags: true,
  3834  		asm:          x86.ASHRL,
  3835  		reg: regInfo{
  3836  			inputs: []inputInfo{
  3837  				{1, 2},   // CX
  3838  				{0, 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:         "SHRW",
  3847  		argLen:       2,
  3848  		resultInArg0: true,
  3849  		clobberFlags: true,
  3850  		asm:          x86.ASHRW,
  3851  		reg: regInfo{
  3852  			inputs: []inputInfo{
  3853  				{1, 2},   // CX
  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:         "SHRB",
  3863  		argLen:       2,
  3864  		resultInArg0: true,
  3865  		clobberFlags: true,
  3866  		asm:          x86.ASHRB,
  3867  		reg: regInfo{
  3868  			inputs: []inputInfo{
  3869  				{1, 2},   // CX
  3870  				{0, 239}, // AX CX DX BX BP SI DI
  3871  			},
  3872  			outputs: []outputInfo{
  3873  				{0, 239}, // AX CX DX BX BP SI DI
  3874  			},
  3875  		},
  3876  	},
  3877  	{
  3878  		name:         "SHRLconst",
  3879  		auxType:      auxInt32,
  3880  		argLen:       1,
  3881  		resultInArg0: true,
  3882  		clobberFlags: true,
  3883  		asm:          x86.ASHRL,
  3884  		reg: regInfo{
  3885  			inputs: []inputInfo{
  3886  				{0, 239}, // AX CX DX BX BP SI DI
  3887  			},
  3888  			outputs: []outputInfo{
  3889  				{0, 239}, // AX CX DX BX BP SI DI
  3890  			},
  3891  		},
  3892  	},
  3893  	{
  3894  		name:         "SHRWconst",
  3895  		auxType:      auxInt16,
  3896  		argLen:       1,
  3897  		resultInArg0: true,
  3898  		clobberFlags: true,
  3899  		asm:          x86.ASHRW,
  3900  		reg: regInfo{
  3901  			inputs: []inputInfo{
  3902  				{0, 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:         "SHRBconst",
  3911  		auxType:      auxInt8,
  3912  		argLen:       1,
  3913  		resultInArg0: true,
  3914  		clobberFlags: true,
  3915  		asm:          x86.ASHRB,
  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:         "SARL",
  3927  		argLen:       2,
  3928  		resultInArg0: true,
  3929  		clobberFlags: true,
  3930  		asm:          x86.ASARL,
  3931  		reg: regInfo{
  3932  			inputs: []inputInfo{
  3933  				{1, 2},   // CX
  3934  				{0, 239}, // AX CX DX BX BP SI DI
  3935  			},
  3936  			outputs: []outputInfo{
  3937  				{0, 239}, // AX CX DX BX BP SI DI
  3938  			},
  3939  		},
  3940  	},
  3941  	{
  3942  		name:         "SARW",
  3943  		argLen:       2,
  3944  		resultInArg0: true,
  3945  		clobberFlags: true,
  3946  		asm:          x86.ASARW,
  3947  		reg: regInfo{
  3948  			inputs: []inputInfo{
  3949  				{1, 2},   // CX
  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:         "SARB",
  3959  		argLen:       2,
  3960  		resultInArg0: true,
  3961  		clobberFlags: true,
  3962  		asm:          x86.ASARB,
  3963  		reg: regInfo{
  3964  			inputs: []inputInfo{
  3965  				{1, 2},   // CX
  3966  				{0, 239}, // AX CX DX BX BP SI DI
  3967  			},
  3968  			outputs: []outputInfo{
  3969  				{0, 239}, // AX CX DX BX BP SI DI
  3970  			},
  3971  		},
  3972  	},
  3973  	{
  3974  		name:         "SARLconst",
  3975  		auxType:      auxInt32,
  3976  		argLen:       1,
  3977  		resultInArg0: true,
  3978  		clobberFlags: true,
  3979  		asm:          x86.ASARL,
  3980  		reg: regInfo{
  3981  			inputs: []inputInfo{
  3982  				{0, 239}, // AX CX DX BX BP SI DI
  3983  			},
  3984  			outputs: []outputInfo{
  3985  				{0, 239}, // AX CX DX BX BP SI DI
  3986  			},
  3987  		},
  3988  	},
  3989  	{
  3990  		name:         "SARWconst",
  3991  		auxType:      auxInt16,
  3992  		argLen:       1,
  3993  		resultInArg0: true,
  3994  		clobberFlags: true,
  3995  		asm:          x86.ASARW,
  3996  		reg: regInfo{
  3997  			inputs: []inputInfo{
  3998  				{0, 239}, // AX CX DX BX BP SI DI
  3999  			},
  4000  			outputs: []outputInfo{
  4001  				{0, 239}, // AX CX DX BX BP SI DI
  4002  			},
  4003  		},
  4004  	},
  4005  	{
  4006  		name:         "SARBconst",
  4007  		auxType:      auxInt8,
  4008  		argLen:       1,
  4009  		resultInArg0: true,
  4010  		clobberFlags: true,
  4011  		asm:          x86.ASARB,
  4012  		reg: regInfo{
  4013  			inputs: []inputInfo{
  4014  				{0, 239}, // AX CX DX BX BP SI DI
  4015  			},
  4016  			outputs: []outputInfo{
  4017  				{0, 239}, // AX CX DX BX BP SI DI
  4018  			},
  4019  		},
  4020  	},
  4021  	{
  4022  		name:         "ROLLconst",
  4023  		auxType:      auxInt32,
  4024  		argLen:       1,
  4025  		resultInArg0: true,
  4026  		clobberFlags: true,
  4027  		asm:          x86.AROLL,
  4028  		reg: regInfo{
  4029  			inputs: []inputInfo{
  4030  				{0, 239}, // AX CX DX BX BP SI DI
  4031  			},
  4032  			outputs: []outputInfo{
  4033  				{0, 239}, // AX CX DX BX BP SI DI
  4034  			},
  4035  		},
  4036  	},
  4037  	{
  4038  		name:         "ROLWconst",
  4039  		auxType:      auxInt16,
  4040  		argLen:       1,
  4041  		resultInArg0: true,
  4042  		clobberFlags: true,
  4043  		asm:          x86.AROLW,
  4044  		reg: regInfo{
  4045  			inputs: []inputInfo{
  4046  				{0, 239}, // AX CX DX BX BP SI DI
  4047  			},
  4048  			outputs: []outputInfo{
  4049  				{0, 239}, // AX CX DX BX BP SI DI
  4050  			},
  4051  		},
  4052  	},
  4053  	{
  4054  		name:         "ROLBconst",
  4055  		auxType:      auxInt8,
  4056  		argLen:       1,
  4057  		resultInArg0: true,
  4058  		clobberFlags: true,
  4059  		asm:          x86.AROLB,
  4060  		reg: regInfo{
  4061  			inputs: []inputInfo{
  4062  				{0, 239}, // AX CX DX BX BP SI DI
  4063  			},
  4064  			outputs: []outputInfo{
  4065  				{0, 239}, // AX CX DX BX BP SI DI
  4066  			},
  4067  		},
  4068  	},
  4069  	{
  4070  		name:           "ADDLload",
  4071  		auxType:        auxSymOff,
  4072  		argLen:         3,
  4073  		resultInArg0:   true,
  4074  		clobberFlags:   true,
  4075  		faultOnNilArg1: true,
  4076  		symEffect:      SymRead,
  4077  		asm:            x86.AADDL,
  4078  		reg: regInfo{
  4079  			inputs: []inputInfo{
  4080  				{0, 239},   // AX CX DX BX BP SI DI
  4081  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4082  			},
  4083  			outputs: []outputInfo{
  4084  				{0, 239}, // AX CX DX BX BP SI DI
  4085  			},
  4086  		},
  4087  	},
  4088  	{
  4089  		name:           "SUBLload",
  4090  		auxType:        auxSymOff,
  4091  		argLen:         3,
  4092  		resultInArg0:   true,
  4093  		clobberFlags:   true,
  4094  		faultOnNilArg1: true,
  4095  		symEffect:      SymRead,
  4096  		asm:            x86.ASUBL,
  4097  		reg: regInfo{
  4098  			inputs: []inputInfo{
  4099  				{0, 239},   // AX CX DX BX BP SI DI
  4100  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4101  			},
  4102  			outputs: []outputInfo{
  4103  				{0, 239}, // AX CX DX BX BP SI DI
  4104  			},
  4105  		},
  4106  	},
  4107  	{
  4108  		name:           "MULLload",
  4109  		auxType:        auxSymOff,
  4110  		argLen:         3,
  4111  		resultInArg0:   true,
  4112  		clobberFlags:   true,
  4113  		faultOnNilArg1: true,
  4114  		symEffect:      SymRead,
  4115  		asm:            x86.AIMULL,
  4116  		reg: regInfo{
  4117  			inputs: []inputInfo{
  4118  				{0, 239},   // AX CX DX BX BP SI DI
  4119  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4120  			},
  4121  			outputs: []outputInfo{
  4122  				{0, 239}, // AX CX DX BX BP SI DI
  4123  			},
  4124  		},
  4125  	},
  4126  	{
  4127  		name:           "ANDLload",
  4128  		auxType:        auxSymOff,
  4129  		argLen:         3,
  4130  		resultInArg0:   true,
  4131  		clobberFlags:   true,
  4132  		faultOnNilArg1: true,
  4133  		symEffect:      SymRead,
  4134  		asm:            x86.AANDL,
  4135  		reg: regInfo{
  4136  			inputs: []inputInfo{
  4137  				{0, 239},   // AX CX DX BX BP SI DI
  4138  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4139  			},
  4140  			outputs: []outputInfo{
  4141  				{0, 239}, // AX CX DX BX BP SI DI
  4142  			},
  4143  		},
  4144  	},
  4145  	{
  4146  		name:           "ORLload",
  4147  		auxType:        auxSymOff,
  4148  		argLen:         3,
  4149  		resultInArg0:   true,
  4150  		clobberFlags:   true,
  4151  		faultOnNilArg1: true,
  4152  		symEffect:      SymRead,
  4153  		asm:            x86.AORL,
  4154  		reg: regInfo{
  4155  			inputs: []inputInfo{
  4156  				{0, 239},   // AX CX DX BX BP SI DI
  4157  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4158  			},
  4159  			outputs: []outputInfo{
  4160  				{0, 239}, // AX CX DX BX BP SI DI
  4161  			},
  4162  		},
  4163  	},
  4164  	{
  4165  		name:           "XORLload",
  4166  		auxType:        auxSymOff,
  4167  		argLen:         3,
  4168  		resultInArg0:   true,
  4169  		clobberFlags:   true,
  4170  		faultOnNilArg1: true,
  4171  		symEffect:      SymRead,
  4172  		asm:            x86.AXORL,
  4173  		reg: regInfo{
  4174  			inputs: []inputInfo{
  4175  				{0, 239},   // AX CX DX BX BP SI DI
  4176  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4177  			},
  4178  			outputs: []outputInfo{
  4179  				{0, 239}, // AX CX DX BX BP SI DI
  4180  			},
  4181  		},
  4182  	},
  4183  	{
  4184  		name:           "ADDLloadidx4",
  4185  		auxType:        auxSymOff,
  4186  		argLen:         4,
  4187  		resultInArg0:   true,
  4188  		clobberFlags:   true,
  4189  		faultOnNilArg1: true,
  4190  		symEffect:      SymRead,
  4191  		asm:            x86.AADDL,
  4192  		reg: regInfo{
  4193  			inputs: []inputInfo{
  4194  				{0, 239},   // AX CX DX BX BP SI DI
  4195  				{2, 255},   // AX CX DX BX SP BP SI DI
  4196  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4197  			},
  4198  			outputs: []outputInfo{
  4199  				{0, 239}, // AX CX DX BX BP SI DI
  4200  			},
  4201  		},
  4202  	},
  4203  	{
  4204  		name:           "SUBLloadidx4",
  4205  		auxType:        auxSymOff,
  4206  		argLen:         4,
  4207  		resultInArg0:   true,
  4208  		clobberFlags:   true,
  4209  		faultOnNilArg1: true,
  4210  		symEffect:      SymRead,
  4211  		asm:            x86.ASUBL,
  4212  		reg: regInfo{
  4213  			inputs: []inputInfo{
  4214  				{0, 239},   // AX CX DX BX BP SI DI
  4215  				{2, 255},   // AX CX DX BX SP BP SI DI
  4216  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4217  			},
  4218  			outputs: []outputInfo{
  4219  				{0, 239}, // AX CX DX BX BP SI DI
  4220  			},
  4221  		},
  4222  	},
  4223  	{
  4224  		name:           "MULLloadidx4",
  4225  		auxType:        auxSymOff,
  4226  		argLen:         4,
  4227  		resultInArg0:   true,
  4228  		clobberFlags:   true,
  4229  		faultOnNilArg1: true,
  4230  		symEffect:      SymRead,
  4231  		asm:            x86.AIMULL,
  4232  		reg: regInfo{
  4233  			inputs: []inputInfo{
  4234  				{0, 239},   // AX CX DX BX BP SI DI
  4235  				{2, 255},   // AX CX DX BX SP BP SI DI
  4236  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4237  			},
  4238  			outputs: []outputInfo{
  4239  				{0, 239}, // AX CX DX BX BP SI DI
  4240  			},
  4241  		},
  4242  	},
  4243  	{
  4244  		name:           "ANDLloadidx4",
  4245  		auxType:        auxSymOff,
  4246  		argLen:         4,
  4247  		resultInArg0:   true,
  4248  		clobberFlags:   true,
  4249  		faultOnNilArg1: true,
  4250  		symEffect:      SymRead,
  4251  		asm:            x86.AANDL,
  4252  		reg: regInfo{
  4253  			inputs: []inputInfo{
  4254  				{0, 239},   // AX CX DX BX BP SI DI
  4255  				{2, 255},   // AX CX DX BX SP BP SI DI
  4256  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4257  			},
  4258  			outputs: []outputInfo{
  4259  				{0, 239}, // AX CX DX BX BP SI DI
  4260  			},
  4261  		},
  4262  	},
  4263  	{
  4264  		name:           "ORLloadidx4",
  4265  		auxType:        auxSymOff,
  4266  		argLen:         4,
  4267  		resultInArg0:   true,
  4268  		clobberFlags:   true,
  4269  		faultOnNilArg1: true,
  4270  		symEffect:      SymRead,
  4271  		asm:            x86.AORL,
  4272  		reg: regInfo{
  4273  			inputs: []inputInfo{
  4274  				{0, 239},   // AX CX DX BX BP SI DI
  4275  				{2, 255},   // AX CX DX BX SP BP SI DI
  4276  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4277  			},
  4278  			outputs: []outputInfo{
  4279  				{0, 239}, // AX CX DX BX BP SI DI
  4280  			},
  4281  		},
  4282  	},
  4283  	{
  4284  		name:           "XORLloadidx4",
  4285  		auxType:        auxSymOff,
  4286  		argLen:         4,
  4287  		resultInArg0:   true,
  4288  		clobberFlags:   true,
  4289  		faultOnNilArg1: true,
  4290  		symEffect:      SymRead,
  4291  		asm:            x86.AXORL,
  4292  		reg: regInfo{
  4293  			inputs: []inputInfo{
  4294  				{0, 239},   // AX CX DX BX BP SI DI
  4295  				{2, 255},   // AX CX DX BX SP BP SI DI
  4296  				{1, 65791}, // AX CX DX BX SP BP SI DI SB
  4297  			},
  4298  			outputs: []outputInfo{
  4299  				{0, 239}, // AX CX DX BX BP SI DI
  4300  			},
  4301  		},
  4302  	},
  4303  	{
  4304  		name:         "NEGL",
  4305  		argLen:       1,
  4306  		resultInArg0: true,
  4307  		clobberFlags: true,
  4308  		asm:          x86.ANEGL,
  4309  		reg: regInfo{
  4310  			inputs: []inputInfo{
  4311  				{0, 239}, // AX CX DX BX BP SI DI
  4312  			},
  4313  			outputs: []outputInfo{
  4314  				{0, 239}, // AX CX DX BX BP SI DI
  4315  			},
  4316  		},
  4317  	},
  4318  	{
  4319  		name:         "NOTL",
  4320  		argLen:       1,
  4321  		resultInArg0: true,
  4322  		clobberFlags: true,
  4323  		asm:          x86.ANOTL,
  4324  		reg: regInfo{
  4325  			inputs: []inputInfo{
  4326  				{0, 239}, // AX CX DX BX BP SI DI
  4327  			},
  4328  			outputs: []outputInfo{
  4329  				{0, 239}, // AX CX DX BX BP SI DI
  4330  			},
  4331  		},
  4332  	},
  4333  	{
  4334  		name:         "BSFL",
  4335  		argLen:       1,
  4336  		clobberFlags: true,
  4337  		asm:          x86.ABSFL,
  4338  		reg: regInfo{
  4339  			inputs: []inputInfo{
  4340  				{0, 239}, // AX CX DX BX BP SI DI
  4341  			},
  4342  			outputs: []outputInfo{
  4343  				{0, 239}, // AX CX DX BX BP SI DI
  4344  			},
  4345  		},
  4346  	},
  4347  	{
  4348  		name:         "BSFW",
  4349  		argLen:       1,
  4350  		clobberFlags: true,
  4351  		asm:          x86.ABSFW,
  4352  		reg: regInfo{
  4353  			inputs: []inputInfo{
  4354  				{0, 239}, // AX CX DX BX BP SI DI
  4355  			},
  4356  			outputs: []outputInfo{
  4357  				{0, 239}, // AX CX DX BX BP SI DI
  4358  			},
  4359  		},
  4360  	},
  4361  	{
  4362  		name:         "BSRL",
  4363  		argLen:       1,
  4364  		clobberFlags: true,
  4365  		asm:          x86.ABSRL,
  4366  		reg: regInfo{
  4367  			inputs: []inputInfo{
  4368  				{0, 239}, // AX CX DX BX BP SI DI
  4369  			},
  4370  			outputs: []outputInfo{
  4371  				{0, 239}, // AX CX DX BX BP SI DI
  4372  			},
  4373  		},
  4374  	},
  4375  	{
  4376  		name:         "BSRW",
  4377  		argLen:       1,
  4378  		clobberFlags: true,
  4379  		asm:          x86.ABSRW,
  4380  		reg: regInfo{
  4381  			inputs: []inputInfo{
  4382  				{0, 239}, // AX CX DX BX BP SI DI
  4383  			},
  4384  			outputs: []outputInfo{
  4385  				{0, 239}, // AX CX DX BX BP SI DI
  4386  			},
  4387  		},
  4388  	},
  4389  	{
  4390  		name:         "BSWAPL",
  4391  		argLen:       1,
  4392  		resultInArg0: true,
  4393  		clobberFlags: true,
  4394  		asm:          x86.ABSWAPL,
  4395  		reg: regInfo{
  4396  			inputs: []inputInfo{
  4397  				{0, 239}, // AX CX DX BX BP SI DI
  4398  			},
  4399  			outputs: []outputInfo{
  4400  				{0, 239}, // AX CX DX BX BP SI DI
  4401  			},
  4402  		},
  4403  	},
  4404  	{
  4405  		name:   "SQRTSD",
  4406  		argLen: 1,
  4407  		asm:    x86.ASQRTSD,
  4408  		reg: regInfo{
  4409  			inputs: []inputInfo{
  4410  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4411  			},
  4412  			outputs: []outputInfo{
  4413  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4414  			},
  4415  		},
  4416  	},
  4417  	{
  4418  		name:   "SBBLcarrymask",
  4419  		argLen: 1,
  4420  		asm:    x86.ASBBL,
  4421  		reg: regInfo{
  4422  			outputs: []outputInfo{
  4423  				{0, 239}, // AX CX DX BX BP SI DI
  4424  			},
  4425  		},
  4426  	},
  4427  	{
  4428  		name:   "SETEQ",
  4429  		argLen: 1,
  4430  		asm:    x86.ASETEQ,
  4431  		reg: regInfo{
  4432  			outputs: []outputInfo{
  4433  				{0, 239}, // AX CX DX BX BP SI DI
  4434  			},
  4435  		},
  4436  	},
  4437  	{
  4438  		name:   "SETNE",
  4439  		argLen: 1,
  4440  		asm:    x86.ASETNE,
  4441  		reg: regInfo{
  4442  			outputs: []outputInfo{
  4443  				{0, 239}, // AX CX DX BX BP SI DI
  4444  			},
  4445  		},
  4446  	},
  4447  	{
  4448  		name:   "SETL",
  4449  		argLen: 1,
  4450  		asm:    x86.ASETLT,
  4451  		reg: regInfo{
  4452  			outputs: []outputInfo{
  4453  				{0, 239}, // AX CX DX BX BP SI DI
  4454  			},
  4455  		},
  4456  	},
  4457  	{
  4458  		name:   "SETLE",
  4459  		argLen: 1,
  4460  		asm:    x86.ASETLE,
  4461  		reg: regInfo{
  4462  			outputs: []outputInfo{
  4463  				{0, 239}, // AX CX DX BX BP SI DI
  4464  			},
  4465  		},
  4466  	},
  4467  	{
  4468  		name:   "SETG",
  4469  		argLen: 1,
  4470  		asm:    x86.ASETGT,
  4471  		reg: regInfo{
  4472  			outputs: []outputInfo{
  4473  				{0, 239}, // AX CX DX BX BP SI DI
  4474  			},
  4475  		},
  4476  	},
  4477  	{
  4478  		name:   "SETGE",
  4479  		argLen: 1,
  4480  		asm:    x86.ASETGE,
  4481  		reg: regInfo{
  4482  			outputs: []outputInfo{
  4483  				{0, 239}, // AX CX DX BX BP SI DI
  4484  			},
  4485  		},
  4486  	},
  4487  	{
  4488  		name:   "SETB",
  4489  		argLen: 1,
  4490  		asm:    x86.ASETCS,
  4491  		reg: regInfo{
  4492  			outputs: []outputInfo{
  4493  				{0, 239}, // AX CX DX BX BP SI DI
  4494  			},
  4495  		},
  4496  	},
  4497  	{
  4498  		name:   "SETBE",
  4499  		argLen: 1,
  4500  		asm:    x86.ASETLS,
  4501  		reg: regInfo{
  4502  			outputs: []outputInfo{
  4503  				{0, 239}, // AX CX DX BX BP SI DI
  4504  			},
  4505  		},
  4506  	},
  4507  	{
  4508  		name:   "SETA",
  4509  		argLen: 1,
  4510  		asm:    x86.ASETHI,
  4511  		reg: regInfo{
  4512  			outputs: []outputInfo{
  4513  				{0, 239}, // AX CX DX BX BP SI DI
  4514  			},
  4515  		},
  4516  	},
  4517  	{
  4518  		name:   "SETAE",
  4519  		argLen: 1,
  4520  		asm:    x86.ASETCC,
  4521  		reg: regInfo{
  4522  			outputs: []outputInfo{
  4523  				{0, 239}, // AX CX DX BX BP SI DI
  4524  			},
  4525  		},
  4526  	},
  4527  	{
  4528  		name:   "SETO",
  4529  		argLen: 1,
  4530  		asm:    x86.ASETOS,
  4531  		reg: regInfo{
  4532  			outputs: []outputInfo{
  4533  				{0, 239}, // AX CX DX BX BP SI DI
  4534  			},
  4535  		},
  4536  	},
  4537  	{
  4538  		name:         "SETEQF",
  4539  		argLen:       1,
  4540  		clobberFlags: true,
  4541  		asm:          x86.ASETEQ,
  4542  		reg: regInfo{
  4543  			clobbers: 1, // AX
  4544  			outputs: []outputInfo{
  4545  				{0, 238}, // CX DX BX BP SI DI
  4546  			},
  4547  		},
  4548  	},
  4549  	{
  4550  		name:         "SETNEF",
  4551  		argLen:       1,
  4552  		clobberFlags: true,
  4553  		asm:          x86.ASETNE,
  4554  		reg: regInfo{
  4555  			clobbers: 1, // AX
  4556  			outputs: []outputInfo{
  4557  				{0, 238}, // CX DX BX BP SI DI
  4558  			},
  4559  		},
  4560  	},
  4561  	{
  4562  		name:   "SETORD",
  4563  		argLen: 1,
  4564  		asm:    x86.ASETPC,
  4565  		reg: regInfo{
  4566  			outputs: []outputInfo{
  4567  				{0, 239}, // AX CX DX BX BP SI DI
  4568  			},
  4569  		},
  4570  	},
  4571  	{
  4572  		name:   "SETNAN",
  4573  		argLen: 1,
  4574  		asm:    x86.ASETPS,
  4575  		reg: regInfo{
  4576  			outputs: []outputInfo{
  4577  				{0, 239}, // AX CX DX BX BP SI DI
  4578  			},
  4579  		},
  4580  	},
  4581  	{
  4582  		name:   "SETGF",
  4583  		argLen: 1,
  4584  		asm:    x86.ASETHI,
  4585  		reg: regInfo{
  4586  			outputs: []outputInfo{
  4587  				{0, 239}, // AX CX DX BX BP SI DI
  4588  			},
  4589  		},
  4590  	},
  4591  	{
  4592  		name:   "SETGEF",
  4593  		argLen: 1,
  4594  		asm:    x86.ASETCC,
  4595  		reg: regInfo{
  4596  			outputs: []outputInfo{
  4597  				{0, 239}, // AX CX DX BX BP SI DI
  4598  			},
  4599  		},
  4600  	},
  4601  	{
  4602  		name:   "MOVBLSX",
  4603  		argLen: 1,
  4604  		asm:    x86.AMOVBLSX,
  4605  		reg: regInfo{
  4606  			inputs: []inputInfo{
  4607  				{0, 239}, // AX CX DX BX BP SI DI
  4608  			},
  4609  			outputs: []outputInfo{
  4610  				{0, 239}, // AX CX DX BX BP SI DI
  4611  			},
  4612  		},
  4613  	},
  4614  	{
  4615  		name:   "MOVBLZX",
  4616  		argLen: 1,
  4617  		asm:    x86.AMOVBLZX,
  4618  		reg: regInfo{
  4619  			inputs: []inputInfo{
  4620  				{0, 239}, // AX CX DX BX BP SI DI
  4621  			},
  4622  			outputs: []outputInfo{
  4623  				{0, 239}, // AX CX DX BX BP SI DI
  4624  			},
  4625  		},
  4626  	},
  4627  	{
  4628  		name:   "MOVWLSX",
  4629  		argLen: 1,
  4630  		asm:    x86.AMOVWLSX,
  4631  		reg: regInfo{
  4632  			inputs: []inputInfo{
  4633  				{0, 239}, // AX CX DX BX BP SI DI
  4634  			},
  4635  			outputs: []outputInfo{
  4636  				{0, 239}, // AX CX DX BX BP SI DI
  4637  			},
  4638  		},
  4639  	},
  4640  	{
  4641  		name:   "MOVWLZX",
  4642  		argLen: 1,
  4643  		asm:    x86.AMOVWLZX,
  4644  		reg: regInfo{
  4645  			inputs: []inputInfo{
  4646  				{0, 239}, // AX CX DX BX BP SI DI
  4647  			},
  4648  			outputs: []outputInfo{
  4649  				{0, 239}, // AX CX DX BX BP SI DI
  4650  			},
  4651  		},
  4652  	},
  4653  	{
  4654  		name:              "MOVLconst",
  4655  		auxType:           auxInt32,
  4656  		argLen:            0,
  4657  		rematerializeable: true,
  4658  		asm:               x86.AMOVL,
  4659  		reg: regInfo{
  4660  			outputs: []outputInfo{
  4661  				{0, 239}, // AX CX DX BX BP SI DI
  4662  			},
  4663  		},
  4664  	},
  4665  	{
  4666  		name:        "CVTTSD2SL",
  4667  		argLen:      1,
  4668  		usesScratch: true,
  4669  		asm:         x86.ACVTTSD2SL,
  4670  		reg: regInfo{
  4671  			inputs: []inputInfo{
  4672  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4673  			},
  4674  			outputs: []outputInfo{
  4675  				{0, 239}, // AX CX DX BX BP SI DI
  4676  			},
  4677  		},
  4678  	},
  4679  	{
  4680  		name:        "CVTTSS2SL",
  4681  		argLen:      1,
  4682  		usesScratch: true,
  4683  		asm:         x86.ACVTTSS2SL,
  4684  		reg: regInfo{
  4685  			inputs: []inputInfo{
  4686  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4687  			},
  4688  			outputs: []outputInfo{
  4689  				{0, 239}, // AX CX DX BX BP SI DI
  4690  			},
  4691  		},
  4692  	},
  4693  	{
  4694  		name:        "CVTSL2SS",
  4695  		argLen:      1,
  4696  		usesScratch: true,
  4697  		asm:         x86.ACVTSL2SS,
  4698  		reg: regInfo{
  4699  			inputs: []inputInfo{
  4700  				{0, 239}, // AX CX DX BX BP SI DI
  4701  			},
  4702  			outputs: []outputInfo{
  4703  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4704  			},
  4705  		},
  4706  	},
  4707  	{
  4708  		name:        "CVTSL2SD",
  4709  		argLen:      1,
  4710  		usesScratch: true,
  4711  		asm:         x86.ACVTSL2SD,
  4712  		reg: regInfo{
  4713  			inputs: []inputInfo{
  4714  				{0, 239}, // AX CX DX BX BP SI DI
  4715  			},
  4716  			outputs: []outputInfo{
  4717  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4718  			},
  4719  		},
  4720  	},
  4721  	{
  4722  		name:        "CVTSD2SS",
  4723  		argLen:      1,
  4724  		usesScratch: true,
  4725  		asm:         x86.ACVTSD2SS,
  4726  		reg: regInfo{
  4727  			inputs: []inputInfo{
  4728  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4729  			},
  4730  			outputs: []outputInfo{
  4731  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4732  			},
  4733  		},
  4734  	},
  4735  	{
  4736  		name:   "CVTSS2SD",
  4737  		argLen: 1,
  4738  		asm:    x86.ACVTSS2SD,
  4739  		reg: regInfo{
  4740  			inputs: []inputInfo{
  4741  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4742  			},
  4743  			outputs: []outputInfo{
  4744  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4745  			},
  4746  		},
  4747  	},
  4748  	{
  4749  		name:         "PXOR",
  4750  		argLen:       2,
  4751  		commutative:  true,
  4752  		resultInArg0: true,
  4753  		asm:          x86.APXOR,
  4754  		reg: regInfo{
  4755  			inputs: []inputInfo{
  4756  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4757  				{1, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4758  			},
  4759  			outputs: []outputInfo{
  4760  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  4761  			},
  4762  		},
  4763  	},
  4764  	{
  4765  		name:              "LEAL",
  4766  		auxType:           auxSymOff,
  4767  		argLen:            1,
  4768  		rematerializeable: true,
  4769  		symEffect:         SymAddr,
  4770  		reg: regInfo{
  4771  			inputs: []inputInfo{
  4772  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4773  			},
  4774  			outputs: []outputInfo{
  4775  				{0, 239}, // AX CX DX BX BP SI DI
  4776  			},
  4777  		},
  4778  	},
  4779  	{
  4780  		name:        "LEAL1",
  4781  		auxType:     auxSymOff,
  4782  		argLen:      2,
  4783  		commutative: true,
  4784  		symEffect:   SymAddr,
  4785  		reg: regInfo{
  4786  			inputs: []inputInfo{
  4787  				{1, 255},   // AX CX DX BX SP BP SI DI
  4788  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4789  			},
  4790  			outputs: []outputInfo{
  4791  				{0, 239}, // AX CX DX BX BP SI DI
  4792  			},
  4793  		},
  4794  	},
  4795  	{
  4796  		name:      "LEAL2",
  4797  		auxType:   auxSymOff,
  4798  		argLen:    2,
  4799  		symEffect: SymAddr,
  4800  		reg: regInfo{
  4801  			inputs: []inputInfo{
  4802  				{1, 255},   // AX CX DX BX SP BP SI DI
  4803  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4804  			},
  4805  			outputs: []outputInfo{
  4806  				{0, 239}, // AX CX DX BX BP SI DI
  4807  			},
  4808  		},
  4809  	},
  4810  	{
  4811  		name:      "LEAL4",
  4812  		auxType:   auxSymOff,
  4813  		argLen:    2,
  4814  		symEffect: SymAddr,
  4815  		reg: regInfo{
  4816  			inputs: []inputInfo{
  4817  				{1, 255},   // AX CX DX BX SP BP SI DI
  4818  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4819  			},
  4820  			outputs: []outputInfo{
  4821  				{0, 239}, // AX CX DX BX BP SI DI
  4822  			},
  4823  		},
  4824  	},
  4825  	{
  4826  		name:      "LEAL8",
  4827  		auxType:   auxSymOff,
  4828  		argLen:    2,
  4829  		symEffect: SymAddr,
  4830  		reg: regInfo{
  4831  			inputs: []inputInfo{
  4832  				{1, 255},   // AX CX DX BX SP BP SI DI
  4833  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4834  			},
  4835  			outputs: []outputInfo{
  4836  				{0, 239}, // AX CX DX BX BP SI DI
  4837  			},
  4838  		},
  4839  	},
  4840  	{
  4841  		name:           "MOVBload",
  4842  		auxType:        auxSymOff,
  4843  		argLen:         2,
  4844  		faultOnNilArg0: true,
  4845  		symEffect:      SymRead,
  4846  		asm:            x86.AMOVBLZX,
  4847  		reg: regInfo{
  4848  			inputs: []inputInfo{
  4849  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4850  			},
  4851  			outputs: []outputInfo{
  4852  				{0, 239}, // AX CX DX BX BP SI DI
  4853  			},
  4854  		},
  4855  	},
  4856  	{
  4857  		name:           "MOVBLSXload",
  4858  		auxType:        auxSymOff,
  4859  		argLen:         2,
  4860  		faultOnNilArg0: true,
  4861  		symEffect:      SymRead,
  4862  		asm:            x86.AMOVBLSX,
  4863  		reg: regInfo{
  4864  			inputs: []inputInfo{
  4865  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4866  			},
  4867  			outputs: []outputInfo{
  4868  				{0, 239}, // AX CX DX BX BP SI DI
  4869  			},
  4870  		},
  4871  	},
  4872  	{
  4873  		name:           "MOVWload",
  4874  		auxType:        auxSymOff,
  4875  		argLen:         2,
  4876  		faultOnNilArg0: true,
  4877  		symEffect:      SymRead,
  4878  		asm:            x86.AMOVWLZX,
  4879  		reg: regInfo{
  4880  			inputs: []inputInfo{
  4881  				{0, 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:           "MOVWLSXload",
  4890  		auxType:        auxSymOff,
  4891  		argLen:         2,
  4892  		faultOnNilArg0: true,
  4893  		symEffect:      SymRead,
  4894  		asm:            x86.AMOVWLSX,
  4895  		reg: regInfo{
  4896  			inputs: []inputInfo{
  4897  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4898  			},
  4899  			outputs: []outputInfo{
  4900  				{0, 239}, // AX CX DX BX BP SI DI
  4901  			},
  4902  		},
  4903  	},
  4904  	{
  4905  		name:           "MOVLload",
  4906  		auxType:        auxSymOff,
  4907  		argLen:         2,
  4908  		faultOnNilArg0: true,
  4909  		symEffect:      SymRead,
  4910  		asm:            x86.AMOVL,
  4911  		reg: regInfo{
  4912  			inputs: []inputInfo{
  4913  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4914  			},
  4915  			outputs: []outputInfo{
  4916  				{0, 239}, // AX CX DX BX BP SI DI
  4917  			},
  4918  		},
  4919  	},
  4920  	{
  4921  		name:           "MOVBstore",
  4922  		auxType:        auxSymOff,
  4923  		argLen:         3,
  4924  		faultOnNilArg0: true,
  4925  		symEffect:      SymWrite,
  4926  		asm:            x86.AMOVB,
  4927  		reg: regInfo{
  4928  			inputs: []inputInfo{
  4929  				{1, 255},   // AX CX DX BX SP BP SI DI
  4930  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4931  			},
  4932  		},
  4933  	},
  4934  	{
  4935  		name:           "MOVWstore",
  4936  		auxType:        auxSymOff,
  4937  		argLen:         3,
  4938  		faultOnNilArg0: true,
  4939  		symEffect:      SymWrite,
  4940  		asm:            x86.AMOVW,
  4941  		reg: regInfo{
  4942  			inputs: []inputInfo{
  4943  				{1, 255},   // AX CX DX BX SP BP SI DI
  4944  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4945  			},
  4946  		},
  4947  	},
  4948  	{
  4949  		name:           "MOVLstore",
  4950  		auxType:        auxSymOff,
  4951  		argLen:         3,
  4952  		faultOnNilArg0: true,
  4953  		symEffect:      SymWrite,
  4954  		asm:            x86.AMOVL,
  4955  		reg: regInfo{
  4956  			inputs: []inputInfo{
  4957  				{1, 255},   // AX CX DX BX SP BP SI DI
  4958  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4959  			},
  4960  		},
  4961  	},
  4962  	{
  4963  		name:           "ADDLmodify",
  4964  		auxType:        auxSymOff,
  4965  		argLen:         3,
  4966  		clobberFlags:   true,
  4967  		faultOnNilArg0: true,
  4968  		symEffect:      SymRead | SymWrite,
  4969  		asm:            x86.AADDL,
  4970  		reg: regInfo{
  4971  			inputs: []inputInfo{
  4972  				{1, 255},   // AX CX DX BX SP BP SI DI
  4973  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4974  			},
  4975  		},
  4976  	},
  4977  	{
  4978  		name:           "SUBLmodify",
  4979  		auxType:        auxSymOff,
  4980  		argLen:         3,
  4981  		clobberFlags:   true,
  4982  		faultOnNilArg0: true,
  4983  		symEffect:      SymRead | SymWrite,
  4984  		asm:            x86.ASUBL,
  4985  		reg: regInfo{
  4986  			inputs: []inputInfo{
  4987  				{1, 255},   // AX CX DX BX SP BP SI DI
  4988  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  4989  			},
  4990  		},
  4991  	},
  4992  	{
  4993  		name:           "ANDLmodify",
  4994  		auxType:        auxSymOff,
  4995  		argLen:         3,
  4996  		clobberFlags:   true,
  4997  		faultOnNilArg0: true,
  4998  		symEffect:      SymRead | SymWrite,
  4999  		asm:            x86.AANDL,
  5000  		reg: regInfo{
  5001  			inputs: []inputInfo{
  5002  				{1, 255},   // AX CX DX BX SP BP SI DI
  5003  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5004  			},
  5005  		},
  5006  	},
  5007  	{
  5008  		name:           "ORLmodify",
  5009  		auxType:        auxSymOff,
  5010  		argLen:         3,
  5011  		clobberFlags:   true,
  5012  		faultOnNilArg0: true,
  5013  		symEffect:      SymRead | SymWrite,
  5014  		asm:            x86.AORL,
  5015  		reg: regInfo{
  5016  			inputs: []inputInfo{
  5017  				{1, 255},   // AX CX DX BX SP BP SI DI
  5018  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5019  			},
  5020  		},
  5021  	},
  5022  	{
  5023  		name:           "XORLmodify",
  5024  		auxType:        auxSymOff,
  5025  		argLen:         3,
  5026  		clobberFlags:   true,
  5027  		faultOnNilArg0: true,
  5028  		symEffect:      SymRead | SymWrite,
  5029  		asm:            x86.AXORL,
  5030  		reg: regInfo{
  5031  			inputs: []inputInfo{
  5032  				{1, 255},   // AX CX DX BX SP BP SI DI
  5033  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5034  			},
  5035  		},
  5036  	},
  5037  	{
  5038  		name:           "ADDLmodifyidx4",
  5039  		auxType:        auxSymOff,
  5040  		argLen:         4,
  5041  		clobberFlags:   true,
  5042  		faultOnNilArg0: true,
  5043  		symEffect:      SymRead | SymWrite,
  5044  		asm:            x86.AADDL,
  5045  		reg: regInfo{
  5046  			inputs: []inputInfo{
  5047  				{1, 255},   // AX CX DX BX SP BP SI DI
  5048  				{2, 255},   // AX CX DX BX SP BP SI DI
  5049  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5050  			},
  5051  		},
  5052  	},
  5053  	{
  5054  		name:           "SUBLmodifyidx4",
  5055  		auxType:        auxSymOff,
  5056  		argLen:         4,
  5057  		clobberFlags:   true,
  5058  		faultOnNilArg0: true,
  5059  		symEffect:      SymRead | SymWrite,
  5060  		asm:            x86.ASUBL,
  5061  		reg: regInfo{
  5062  			inputs: []inputInfo{
  5063  				{1, 255},   // AX CX DX BX SP BP SI DI
  5064  				{2, 255},   // AX CX DX BX SP BP SI DI
  5065  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5066  			},
  5067  		},
  5068  	},
  5069  	{
  5070  		name:           "ANDLmodifyidx4",
  5071  		auxType:        auxSymOff,
  5072  		argLen:         4,
  5073  		clobberFlags:   true,
  5074  		faultOnNilArg0: true,
  5075  		symEffect:      SymRead | SymWrite,
  5076  		asm:            x86.AANDL,
  5077  		reg: regInfo{
  5078  			inputs: []inputInfo{
  5079  				{1, 255},   // AX CX DX BX SP BP SI DI
  5080  				{2, 255},   // AX CX DX BX SP BP SI DI
  5081  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5082  			},
  5083  		},
  5084  	},
  5085  	{
  5086  		name:           "ORLmodifyidx4",
  5087  		auxType:        auxSymOff,
  5088  		argLen:         4,
  5089  		clobberFlags:   true,
  5090  		faultOnNilArg0: true,
  5091  		symEffect:      SymRead | SymWrite,
  5092  		asm:            x86.AORL,
  5093  		reg: regInfo{
  5094  			inputs: []inputInfo{
  5095  				{1, 255},   // AX CX DX BX SP BP SI DI
  5096  				{2, 255},   // AX CX DX BX SP BP SI DI
  5097  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5098  			},
  5099  		},
  5100  	},
  5101  	{
  5102  		name:           "XORLmodifyidx4",
  5103  		auxType:        auxSymOff,
  5104  		argLen:         4,
  5105  		clobberFlags:   true,
  5106  		faultOnNilArg0: true,
  5107  		symEffect:      SymRead | SymWrite,
  5108  		asm:            x86.AXORL,
  5109  		reg: regInfo{
  5110  			inputs: []inputInfo{
  5111  				{1, 255},   // AX CX DX BX SP BP SI DI
  5112  				{2, 255},   // AX CX DX BX SP BP SI DI
  5113  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5114  			},
  5115  		},
  5116  	},
  5117  	{
  5118  		name:           "ADDLconstmodify",
  5119  		auxType:        auxSymValAndOff,
  5120  		argLen:         2,
  5121  		clobberFlags:   true,
  5122  		faultOnNilArg0: true,
  5123  		symEffect:      SymRead | SymWrite,
  5124  		asm:            x86.AADDL,
  5125  		reg: regInfo{
  5126  			inputs: []inputInfo{
  5127  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5128  			},
  5129  		},
  5130  	},
  5131  	{
  5132  		name:           "ANDLconstmodify",
  5133  		auxType:        auxSymValAndOff,
  5134  		argLen:         2,
  5135  		clobberFlags:   true,
  5136  		faultOnNilArg0: true,
  5137  		symEffect:      SymRead | SymWrite,
  5138  		asm:            x86.AANDL,
  5139  		reg: regInfo{
  5140  			inputs: []inputInfo{
  5141  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5142  			},
  5143  		},
  5144  	},
  5145  	{
  5146  		name:           "ORLconstmodify",
  5147  		auxType:        auxSymValAndOff,
  5148  		argLen:         2,
  5149  		clobberFlags:   true,
  5150  		faultOnNilArg0: true,
  5151  		symEffect:      SymRead | SymWrite,
  5152  		asm:            x86.AORL,
  5153  		reg: regInfo{
  5154  			inputs: []inputInfo{
  5155  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5156  			},
  5157  		},
  5158  	},
  5159  	{
  5160  		name:           "XORLconstmodify",
  5161  		auxType:        auxSymValAndOff,
  5162  		argLen:         2,
  5163  		clobberFlags:   true,
  5164  		faultOnNilArg0: true,
  5165  		symEffect:      SymRead | SymWrite,
  5166  		asm:            x86.AXORL,
  5167  		reg: regInfo{
  5168  			inputs: []inputInfo{
  5169  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5170  			},
  5171  		},
  5172  	},
  5173  	{
  5174  		name:           "ADDLconstmodifyidx4",
  5175  		auxType:        auxSymValAndOff,
  5176  		argLen:         3,
  5177  		clobberFlags:   true,
  5178  		faultOnNilArg0: true,
  5179  		symEffect:      SymRead | SymWrite,
  5180  		asm:            x86.AADDL,
  5181  		reg: regInfo{
  5182  			inputs: []inputInfo{
  5183  				{1, 255},   // AX CX DX BX SP BP SI DI
  5184  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5185  			},
  5186  		},
  5187  	},
  5188  	{
  5189  		name:           "ANDLconstmodifyidx4",
  5190  		auxType:        auxSymValAndOff,
  5191  		argLen:         3,
  5192  		clobberFlags:   true,
  5193  		faultOnNilArg0: true,
  5194  		symEffect:      SymRead | SymWrite,
  5195  		asm:            x86.AANDL,
  5196  		reg: regInfo{
  5197  			inputs: []inputInfo{
  5198  				{1, 255},   // AX CX DX BX SP BP SI DI
  5199  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5200  			},
  5201  		},
  5202  	},
  5203  	{
  5204  		name:           "ORLconstmodifyidx4",
  5205  		auxType:        auxSymValAndOff,
  5206  		argLen:         3,
  5207  		clobberFlags:   true,
  5208  		faultOnNilArg0: true,
  5209  		symEffect:      SymRead | SymWrite,
  5210  		asm:            x86.AORL,
  5211  		reg: regInfo{
  5212  			inputs: []inputInfo{
  5213  				{1, 255},   // AX CX DX BX SP BP SI DI
  5214  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5215  			},
  5216  		},
  5217  	},
  5218  	{
  5219  		name:           "XORLconstmodifyidx4",
  5220  		auxType:        auxSymValAndOff,
  5221  		argLen:         3,
  5222  		clobberFlags:   true,
  5223  		faultOnNilArg0: true,
  5224  		symEffect:      SymRead | SymWrite,
  5225  		asm:            x86.AXORL,
  5226  		reg: regInfo{
  5227  			inputs: []inputInfo{
  5228  				{1, 255},   // AX CX DX BX SP BP SI DI
  5229  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5230  			},
  5231  		},
  5232  	},
  5233  	{
  5234  		name:        "MOVBloadidx1",
  5235  		auxType:     auxSymOff,
  5236  		argLen:      3,
  5237  		commutative: true,
  5238  		symEffect:   SymRead,
  5239  		asm:         x86.AMOVBLZX,
  5240  		reg: regInfo{
  5241  			inputs: []inputInfo{
  5242  				{1, 255},   // AX CX DX BX SP BP SI DI
  5243  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5244  			},
  5245  			outputs: []outputInfo{
  5246  				{0, 239}, // AX CX DX BX BP SI DI
  5247  			},
  5248  		},
  5249  	},
  5250  	{
  5251  		name:        "MOVWloadidx1",
  5252  		auxType:     auxSymOff,
  5253  		argLen:      3,
  5254  		commutative: true,
  5255  		symEffect:   SymRead,
  5256  		asm:         x86.AMOVWLZX,
  5257  		reg: regInfo{
  5258  			inputs: []inputInfo{
  5259  				{1, 255},   // AX CX DX BX SP BP SI DI
  5260  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5261  			},
  5262  			outputs: []outputInfo{
  5263  				{0, 239}, // AX CX DX BX BP SI DI
  5264  			},
  5265  		},
  5266  	},
  5267  	{
  5268  		name:      "MOVWloadidx2",
  5269  		auxType:   auxSymOff,
  5270  		argLen:    3,
  5271  		symEffect: SymRead,
  5272  		asm:       x86.AMOVWLZX,
  5273  		reg: regInfo{
  5274  			inputs: []inputInfo{
  5275  				{1, 255},   // AX CX DX BX SP BP SI DI
  5276  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5277  			},
  5278  			outputs: []outputInfo{
  5279  				{0, 239}, // AX CX DX BX BP SI DI
  5280  			},
  5281  		},
  5282  	},
  5283  	{
  5284  		name:        "MOVLloadidx1",
  5285  		auxType:     auxSymOff,
  5286  		argLen:      3,
  5287  		commutative: true,
  5288  		symEffect:   SymRead,
  5289  		asm:         x86.AMOVL,
  5290  		reg: regInfo{
  5291  			inputs: []inputInfo{
  5292  				{1, 255},   // AX CX DX BX SP BP SI DI
  5293  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5294  			},
  5295  			outputs: []outputInfo{
  5296  				{0, 239}, // AX CX DX BX BP SI DI
  5297  			},
  5298  		},
  5299  	},
  5300  	{
  5301  		name:      "MOVLloadidx4",
  5302  		auxType:   auxSymOff,
  5303  		argLen:    3,
  5304  		symEffect: SymRead,
  5305  		asm:       x86.AMOVL,
  5306  		reg: regInfo{
  5307  			inputs: []inputInfo{
  5308  				{1, 255},   // AX CX DX BX SP BP SI DI
  5309  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5310  			},
  5311  			outputs: []outputInfo{
  5312  				{0, 239}, // AX CX DX BX BP SI DI
  5313  			},
  5314  		},
  5315  	},
  5316  	{
  5317  		name:        "MOVBstoreidx1",
  5318  		auxType:     auxSymOff,
  5319  		argLen:      4,
  5320  		commutative: true,
  5321  		symEffect:   SymWrite,
  5322  		asm:         x86.AMOVB,
  5323  		reg: regInfo{
  5324  			inputs: []inputInfo{
  5325  				{1, 255},   // AX CX DX BX SP BP SI DI
  5326  				{2, 255},   // AX CX DX BX SP BP SI DI
  5327  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5328  			},
  5329  		},
  5330  	},
  5331  	{
  5332  		name:        "MOVWstoreidx1",
  5333  		auxType:     auxSymOff,
  5334  		argLen:      4,
  5335  		commutative: true,
  5336  		symEffect:   SymWrite,
  5337  		asm:         x86.AMOVW,
  5338  		reg: regInfo{
  5339  			inputs: []inputInfo{
  5340  				{1, 255},   // AX CX DX BX SP BP SI DI
  5341  				{2, 255},   // AX CX DX BX SP BP SI DI
  5342  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5343  			},
  5344  		},
  5345  	},
  5346  	{
  5347  		name:      "MOVWstoreidx2",
  5348  		auxType:   auxSymOff,
  5349  		argLen:    4,
  5350  		symEffect: SymWrite,
  5351  		asm:       x86.AMOVW,
  5352  		reg: regInfo{
  5353  			inputs: []inputInfo{
  5354  				{1, 255},   // AX CX DX BX SP BP SI DI
  5355  				{2, 255},   // AX CX DX BX SP BP SI DI
  5356  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5357  			},
  5358  		},
  5359  	},
  5360  	{
  5361  		name:        "MOVLstoreidx1",
  5362  		auxType:     auxSymOff,
  5363  		argLen:      4,
  5364  		commutative: true,
  5365  		symEffect:   SymWrite,
  5366  		asm:         x86.AMOVL,
  5367  		reg: regInfo{
  5368  			inputs: []inputInfo{
  5369  				{1, 255},   // AX CX DX BX SP BP SI DI
  5370  				{2, 255},   // AX CX DX BX SP BP SI DI
  5371  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5372  			},
  5373  		},
  5374  	},
  5375  	{
  5376  		name:      "MOVLstoreidx4",
  5377  		auxType:   auxSymOff,
  5378  		argLen:    4,
  5379  		symEffect: SymWrite,
  5380  		asm:       x86.AMOVL,
  5381  		reg: regInfo{
  5382  			inputs: []inputInfo{
  5383  				{1, 255},   // AX CX DX BX SP BP SI DI
  5384  				{2, 255},   // AX CX DX BX SP BP SI DI
  5385  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5386  			},
  5387  		},
  5388  	},
  5389  	{
  5390  		name:           "MOVBstoreconst",
  5391  		auxType:        auxSymValAndOff,
  5392  		argLen:         2,
  5393  		faultOnNilArg0: true,
  5394  		symEffect:      SymWrite,
  5395  		asm:            x86.AMOVB,
  5396  		reg: regInfo{
  5397  			inputs: []inputInfo{
  5398  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5399  			},
  5400  		},
  5401  	},
  5402  	{
  5403  		name:           "MOVWstoreconst",
  5404  		auxType:        auxSymValAndOff,
  5405  		argLen:         2,
  5406  		faultOnNilArg0: true,
  5407  		symEffect:      SymWrite,
  5408  		asm:            x86.AMOVW,
  5409  		reg: regInfo{
  5410  			inputs: []inputInfo{
  5411  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5412  			},
  5413  		},
  5414  	},
  5415  	{
  5416  		name:           "MOVLstoreconst",
  5417  		auxType:        auxSymValAndOff,
  5418  		argLen:         2,
  5419  		faultOnNilArg0: true,
  5420  		symEffect:      SymWrite,
  5421  		asm:            x86.AMOVL,
  5422  		reg: regInfo{
  5423  			inputs: []inputInfo{
  5424  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5425  			},
  5426  		},
  5427  	},
  5428  	{
  5429  		name:      "MOVBstoreconstidx1",
  5430  		auxType:   auxSymValAndOff,
  5431  		argLen:    3,
  5432  		symEffect: SymWrite,
  5433  		asm:       x86.AMOVB,
  5434  		reg: regInfo{
  5435  			inputs: []inputInfo{
  5436  				{1, 255},   // AX CX DX BX SP BP SI DI
  5437  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5438  			},
  5439  		},
  5440  	},
  5441  	{
  5442  		name:      "MOVWstoreconstidx1",
  5443  		auxType:   auxSymValAndOff,
  5444  		argLen:    3,
  5445  		symEffect: SymWrite,
  5446  		asm:       x86.AMOVW,
  5447  		reg: regInfo{
  5448  			inputs: []inputInfo{
  5449  				{1, 255},   // AX CX DX BX SP BP SI DI
  5450  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5451  			},
  5452  		},
  5453  	},
  5454  	{
  5455  		name:      "MOVWstoreconstidx2",
  5456  		auxType:   auxSymValAndOff,
  5457  		argLen:    3,
  5458  		symEffect: SymWrite,
  5459  		asm:       x86.AMOVW,
  5460  		reg: regInfo{
  5461  			inputs: []inputInfo{
  5462  				{1, 255},   // AX CX DX BX SP BP SI DI
  5463  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5464  			},
  5465  		},
  5466  	},
  5467  	{
  5468  		name:      "MOVLstoreconstidx1",
  5469  		auxType:   auxSymValAndOff,
  5470  		argLen:    3,
  5471  		symEffect: SymWrite,
  5472  		asm:       x86.AMOVL,
  5473  		reg: regInfo{
  5474  			inputs: []inputInfo{
  5475  				{1, 255},   // AX CX DX BX SP BP SI DI
  5476  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5477  			},
  5478  		},
  5479  	},
  5480  	{
  5481  		name:      "MOVLstoreconstidx4",
  5482  		auxType:   auxSymValAndOff,
  5483  		argLen:    3,
  5484  		symEffect: SymWrite,
  5485  		asm:       x86.AMOVL,
  5486  		reg: regInfo{
  5487  			inputs: []inputInfo{
  5488  				{1, 255},   // AX CX DX BX SP BP SI DI
  5489  				{0, 65791}, // AX CX DX BX SP BP SI DI SB
  5490  			},
  5491  		},
  5492  	},
  5493  	{
  5494  		name:           "DUFFZERO",
  5495  		auxType:        auxInt64,
  5496  		argLen:         3,
  5497  		faultOnNilArg0: true,
  5498  		reg: regInfo{
  5499  			inputs: []inputInfo{
  5500  				{0, 128}, // DI
  5501  				{1, 1},   // AX
  5502  			},
  5503  			clobbers: 130, // CX DI
  5504  		},
  5505  	},
  5506  	{
  5507  		name:           "REPSTOSL",
  5508  		argLen:         4,
  5509  		faultOnNilArg0: true,
  5510  		reg: regInfo{
  5511  			inputs: []inputInfo{
  5512  				{0, 128}, // DI
  5513  				{1, 2},   // CX
  5514  				{2, 1},   // AX
  5515  			},
  5516  			clobbers: 130, // CX DI
  5517  		},
  5518  	},
  5519  	{
  5520  		name:         "CALLstatic",
  5521  		auxType:      auxSymOff,
  5522  		argLen:       1,
  5523  		clobberFlags: true,
  5524  		call:         true,
  5525  		symEffect:    SymNone,
  5526  		reg: regInfo{
  5527  			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
  5528  		},
  5529  	},
  5530  	{
  5531  		name:         "CALLclosure",
  5532  		auxType:      auxInt64,
  5533  		argLen:       3,
  5534  		clobberFlags: true,
  5535  		call:         true,
  5536  		reg: regInfo{
  5537  			inputs: []inputInfo{
  5538  				{1, 4},   // DX
  5539  				{0, 255}, // AX CX DX BX SP BP SI DI
  5540  			},
  5541  			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
  5542  		},
  5543  	},
  5544  	{
  5545  		name:         "CALLinter",
  5546  		auxType:      auxInt64,
  5547  		argLen:       2,
  5548  		clobberFlags: true,
  5549  		call:         true,
  5550  		reg: regInfo{
  5551  			inputs: []inputInfo{
  5552  				{0, 239}, // AX CX DX BX BP SI DI
  5553  			},
  5554  			clobbers: 65519, // AX CX DX BX BP SI DI X0 X1 X2 X3 X4 X5 X6 X7
  5555  		},
  5556  	},
  5557  	{
  5558  		name:           "DUFFCOPY",
  5559  		auxType:        auxInt64,
  5560  		argLen:         3,
  5561  		clobberFlags:   true,
  5562  		faultOnNilArg0: true,
  5563  		faultOnNilArg1: true,
  5564  		reg: regInfo{
  5565  			inputs: []inputInfo{
  5566  				{0, 128}, // DI
  5567  				{1, 64},  // SI
  5568  			},
  5569  			clobbers: 194, // CX SI DI
  5570  		},
  5571  	},
  5572  	{
  5573  		name:           "REPMOVSL",
  5574  		argLen:         4,
  5575  		faultOnNilArg0: true,
  5576  		faultOnNilArg1: true,
  5577  		reg: regInfo{
  5578  			inputs: []inputInfo{
  5579  				{0, 128}, // DI
  5580  				{1, 64},  // SI
  5581  				{2, 2},   // CX
  5582  			},
  5583  			clobbers: 194, // CX SI DI
  5584  		},
  5585  	},
  5586  	{
  5587  		name:   "InvertFlags",
  5588  		argLen: 1,
  5589  		reg:    regInfo{},
  5590  	},
  5591  	{
  5592  		name:   "LoweredGetG",
  5593  		argLen: 1,
  5594  		reg: regInfo{
  5595  			outputs: []outputInfo{
  5596  				{0, 239}, // AX CX DX BX BP SI DI
  5597  			},
  5598  		},
  5599  	},
  5600  	{
  5601  		name:      "LoweredGetClosurePtr",
  5602  		argLen:    0,
  5603  		zeroWidth: true,
  5604  		reg: regInfo{
  5605  			outputs: []outputInfo{
  5606  				{0, 4}, // DX
  5607  			},
  5608  		},
  5609  	},
  5610  	{
  5611  		name:              "LoweredGetCallerPC",
  5612  		argLen:            0,
  5613  		rematerializeable: true,
  5614  		reg: regInfo{
  5615  			outputs: []outputInfo{
  5616  				{0, 239}, // AX CX DX BX BP SI DI
  5617  			},
  5618  		},
  5619  	},
  5620  	{
  5621  		name:              "LoweredGetCallerSP",
  5622  		argLen:            0,
  5623  		rematerializeable: true,
  5624  		reg: regInfo{
  5625  			outputs: []outputInfo{
  5626  				{0, 239}, // AX CX DX BX BP SI DI
  5627  			},
  5628  		},
  5629  	},
  5630  	{
  5631  		name:           "LoweredNilCheck",
  5632  		argLen:         2,
  5633  		clobberFlags:   true,
  5634  		nilCheck:       true,
  5635  		faultOnNilArg0: true,
  5636  		reg: regInfo{
  5637  			inputs: []inputInfo{
  5638  				{0, 255}, // AX CX DX BX SP BP SI DI
  5639  			},
  5640  		},
  5641  	},
  5642  	{
  5643  		name:         "LoweredWB",
  5644  		auxType:      auxSym,
  5645  		argLen:       3,
  5646  		clobberFlags: true,
  5647  		symEffect:    SymNone,
  5648  		reg: regInfo{
  5649  			inputs: []inputInfo{
  5650  				{0, 128}, // DI
  5651  				{1, 1},   // AX
  5652  			},
  5653  			clobbers: 65280, // X0 X1 X2 X3 X4 X5 X6 X7
  5654  		},
  5655  	},
  5656  	{
  5657  		name:    "LoweredPanicBoundsA",
  5658  		auxType: auxInt64,
  5659  		argLen:  3,
  5660  		reg: regInfo{
  5661  			inputs: []inputInfo{
  5662  				{0, 4}, // DX
  5663  				{1, 8}, // BX
  5664  			},
  5665  		},
  5666  	},
  5667  	{
  5668  		name:    "LoweredPanicBoundsB",
  5669  		auxType: auxInt64,
  5670  		argLen:  3,
  5671  		reg: regInfo{
  5672  			inputs: []inputInfo{
  5673  				{0, 2}, // CX
  5674  				{1, 4}, // DX
  5675  			},
  5676  		},
  5677  	},
  5678  	{
  5679  		name:    "LoweredPanicBoundsC",
  5680  		auxType: auxInt64,
  5681  		argLen:  3,
  5682  		reg: regInfo{
  5683  			inputs: []inputInfo{
  5684  				{0, 1}, // AX
  5685  				{1, 2}, // CX
  5686  			},
  5687  		},
  5688  	},
  5689  	{
  5690  		name:    "LoweredPanicExtendA",
  5691  		auxType: auxInt64,
  5692  		argLen:  4,
  5693  		reg: regInfo{
  5694  			inputs: []inputInfo{
  5695  				{0, 64}, // SI
  5696  				{1, 4},  // DX
  5697  				{2, 8},  // BX
  5698  			},
  5699  		},
  5700  	},
  5701  	{
  5702  		name:    "LoweredPanicExtendB",
  5703  		auxType: auxInt64,
  5704  		argLen:  4,
  5705  		reg: regInfo{
  5706  			inputs: []inputInfo{
  5707  				{0, 64}, // SI
  5708  				{1, 2},  // CX
  5709  				{2, 4},  // DX
  5710  			},
  5711  		},
  5712  	},
  5713  	{
  5714  		name:    "LoweredPanicExtendC",
  5715  		auxType: auxInt64,
  5716  		argLen:  4,
  5717  		reg: regInfo{
  5718  			inputs: []inputInfo{
  5719  				{0, 64}, // SI
  5720  				{1, 1},  // AX
  5721  				{2, 2},  // CX
  5722  			},
  5723  		},
  5724  	},
  5725  	{
  5726  		name:   "FlagEQ",
  5727  		argLen: 0,
  5728  		reg:    regInfo{},
  5729  	},
  5730  	{
  5731  		name:   "FlagLT_ULT",
  5732  		argLen: 0,
  5733  		reg:    regInfo{},
  5734  	},
  5735  	{
  5736  		name:   "FlagLT_UGT",
  5737  		argLen: 0,
  5738  		reg:    regInfo{},
  5739  	},
  5740  	{
  5741  		name:   "FlagGT_UGT",
  5742  		argLen: 0,
  5743  		reg:    regInfo{},
  5744  	},
  5745  	{
  5746  		name:   "FlagGT_ULT",
  5747  		argLen: 0,
  5748  		reg:    regInfo{},
  5749  	},
  5750  	{
  5751  		name:   "FCHS",
  5752  		argLen: 1,
  5753  		reg: regInfo{
  5754  			inputs: []inputInfo{
  5755  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  5756  			},
  5757  			outputs: []outputInfo{
  5758  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  5759  			},
  5760  		},
  5761  	},
  5762  	{
  5763  		name:    "MOVSSconst1",
  5764  		auxType: auxFloat32,
  5765  		argLen:  0,
  5766  		reg: regInfo{
  5767  			outputs: []outputInfo{
  5768  				{0, 239}, // AX CX DX BX BP SI DI
  5769  			},
  5770  		},
  5771  	},
  5772  	{
  5773  		name:    "MOVSDconst1",
  5774  		auxType: auxFloat64,
  5775  		argLen:  0,
  5776  		reg: regInfo{
  5777  			outputs: []outputInfo{
  5778  				{0, 239}, // AX CX DX BX BP SI DI
  5779  			},
  5780  		},
  5781  	},
  5782  	{
  5783  		name:   "MOVSSconst2",
  5784  		argLen: 1,
  5785  		asm:    x86.AMOVSS,
  5786  		reg: regInfo{
  5787  			inputs: []inputInfo{
  5788  				{0, 239}, // AX CX DX BX BP SI DI
  5789  			},
  5790  			outputs: []outputInfo{
  5791  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  5792  			},
  5793  		},
  5794  	},
  5795  	{
  5796  		name:   "MOVSDconst2",
  5797  		argLen: 1,
  5798  		asm:    x86.AMOVSD,
  5799  		reg: regInfo{
  5800  			inputs: []inputInfo{
  5801  				{0, 239}, // AX CX DX BX BP SI DI
  5802  			},
  5803  			outputs: []outputInfo{
  5804  				{0, 65280}, // X0 X1 X2 X3 X4 X5 X6 X7
  5805  			},
  5806  		},
  5807  	},
  5808  
  5809  	{
  5810  		name:         "ADDSS",
  5811  		argLen:       2,
  5812  		commutative:  true,
  5813  		resultInArg0: true,
  5814  		asm:          x86.AADDSS,
  5815  		reg: regInfo{
  5816  			inputs: []inputInfo{
  5817  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5818  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5819  			},
  5820  			outputs: []outputInfo{
  5821  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5822  			},
  5823  		},
  5824  	},
  5825  	{
  5826  		name:         "ADDSD",
  5827  		argLen:       2,
  5828  		commutative:  true,
  5829  		resultInArg0: true,
  5830  		asm:          x86.AADDSD,
  5831  		reg: regInfo{
  5832  			inputs: []inputInfo{
  5833  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5834  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5835  			},
  5836  			outputs: []outputInfo{
  5837  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5838  			},
  5839  		},
  5840  	},
  5841  	{
  5842  		name:         "SUBSS",
  5843  		argLen:       2,
  5844  		resultInArg0: true,
  5845  		asm:          x86.ASUBSS,
  5846  		reg: regInfo{
  5847  			inputs: []inputInfo{
  5848  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5849  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5850  			},
  5851  			outputs: []outputInfo{
  5852  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5853  			},
  5854  		},
  5855  	},
  5856  	{
  5857  		name:         "SUBSD",
  5858  		argLen:       2,
  5859  		resultInArg0: true,
  5860  		asm:          x86.ASUBSD,
  5861  		reg: regInfo{
  5862  			inputs: []inputInfo{
  5863  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5864  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5865  			},
  5866  			outputs: []outputInfo{
  5867  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5868  			},
  5869  		},
  5870  	},
  5871  	{
  5872  		name:         "MULSS",
  5873  		argLen:       2,
  5874  		commutative:  true,
  5875  		resultInArg0: true,
  5876  		asm:          x86.AMULSS,
  5877  		reg: regInfo{
  5878  			inputs: []inputInfo{
  5879  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5880  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5881  			},
  5882  			outputs: []outputInfo{
  5883  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5884  			},
  5885  		},
  5886  	},
  5887  	{
  5888  		name:         "MULSD",
  5889  		argLen:       2,
  5890  		commutative:  true,
  5891  		resultInArg0: true,
  5892  		asm:          x86.AMULSD,
  5893  		reg: regInfo{
  5894  			inputs: []inputInfo{
  5895  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5896  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5897  			},
  5898  			outputs: []outputInfo{
  5899  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5900  			},
  5901  		},
  5902  	},
  5903  	{
  5904  		name:         "DIVSS",
  5905  		argLen:       2,
  5906  		resultInArg0: true,
  5907  		asm:          x86.ADIVSS,
  5908  		reg: regInfo{
  5909  			inputs: []inputInfo{
  5910  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5911  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5912  			},
  5913  			outputs: []outputInfo{
  5914  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5915  			},
  5916  		},
  5917  	},
  5918  	{
  5919  		name:         "DIVSD",
  5920  		argLen:       2,
  5921  		resultInArg0: true,
  5922  		asm:          x86.ADIVSD,
  5923  		reg: regInfo{
  5924  			inputs: []inputInfo{
  5925  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5926  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5927  			},
  5928  			outputs: []outputInfo{
  5929  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5930  			},
  5931  		},
  5932  	},
  5933  	{
  5934  		name:           "MOVSSload",
  5935  		auxType:        auxSymOff,
  5936  		argLen:         2,
  5937  		faultOnNilArg0: true,
  5938  		symEffect:      SymRead,
  5939  		asm:            x86.AMOVSS,
  5940  		reg: regInfo{
  5941  			inputs: []inputInfo{
  5942  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  5943  			},
  5944  			outputs: []outputInfo{
  5945  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5946  			},
  5947  		},
  5948  	},
  5949  	{
  5950  		name:           "MOVSDload",
  5951  		auxType:        auxSymOff,
  5952  		argLen:         2,
  5953  		faultOnNilArg0: true,
  5954  		symEffect:      SymRead,
  5955  		asm:            x86.AMOVSD,
  5956  		reg: regInfo{
  5957  			inputs: []inputInfo{
  5958  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  5959  			},
  5960  			outputs: []outputInfo{
  5961  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5962  			},
  5963  		},
  5964  	},
  5965  	{
  5966  		name:              "MOVSSconst",
  5967  		auxType:           auxFloat32,
  5968  		argLen:            0,
  5969  		rematerializeable: true,
  5970  		asm:               x86.AMOVSS,
  5971  		reg: regInfo{
  5972  			outputs: []outputInfo{
  5973  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5974  			},
  5975  		},
  5976  	},
  5977  	{
  5978  		name:              "MOVSDconst",
  5979  		auxType:           auxFloat64,
  5980  		argLen:            0,
  5981  		rematerializeable: true,
  5982  		asm:               x86.AMOVSD,
  5983  		reg: regInfo{
  5984  			outputs: []outputInfo{
  5985  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  5986  			},
  5987  		},
  5988  	},
  5989  	{
  5990  		name:      "MOVSSloadidx1",
  5991  		auxType:   auxSymOff,
  5992  		argLen:    3,
  5993  		symEffect: SymRead,
  5994  		asm:       x86.AMOVSS,
  5995  		scale:     1,
  5996  		reg: regInfo{
  5997  			inputs: []inputInfo{
  5998  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  5999  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6000  			},
  6001  			outputs: []outputInfo{
  6002  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6003  			},
  6004  		},
  6005  	},
  6006  	{
  6007  		name:      "MOVSSloadidx4",
  6008  		auxType:   auxSymOff,
  6009  		argLen:    3,
  6010  		symEffect: SymRead,
  6011  		asm:       x86.AMOVSS,
  6012  		scale:     4,
  6013  		reg: regInfo{
  6014  			inputs: []inputInfo{
  6015  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6016  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6017  			},
  6018  			outputs: []outputInfo{
  6019  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6020  			},
  6021  		},
  6022  	},
  6023  	{
  6024  		name:      "MOVSDloadidx1",
  6025  		auxType:   auxSymOff,
  6026  		argLen:    3,
  6027  		symEffect: SymRead,
  6028  		asm:       x86.AMOVSD,
  6029  		scale:     1,
  6030  		reg: regInfo{
  6031  			inputs: []inputInfo{
  6032  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6033  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6034  			},
  6035  			outputs: []outputInfo{
  6036  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6037  			},
  6038  		},
  6039  	},
  6040  	{
  6041  		name:      "MOVSDloadidx8",
  6042  		auxType:   auxSymOff,
  6043  		argLen:    3,
  6044  		symEffect: SymRead,
  6045  		asm:       x86.AMOVSD,
  6046  		scale:     8,
  6047  		reg: regInfo{
  6048  			inputs: []inputInfo{
  6049  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6050  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6051  			},
  6052  			outputs: []outputInfo{
  6053  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6054  			},
  6055  		},
  6056  	},
  6057  	{
  6058  		name:           "MOVSSstore",
  6059  		auxType:        auxSymOff,
  6060  		argLen:         3,
  6061  		faultOnNilArg0: true,
  6062  		symEffect:      SymWrite,
  6063  		asm:            x86.AMOVSS,
  6064  		reg: regInfo{
  6065  			inputs: []inputInfo{
  6066  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6067  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6068  			},
  6069  		},
  6070  	},
  6071  	{
  6072  		name:           "MOVSDstore",
  6073  		auxType:        auxSymOff,
  6074  		argLen:         3,
  6075  		faultOnNilArg0: true,
  6076  		symEffect:      SymWrite,
  6077  		asm:            x86.AMOVSD,
  6078  		reg: regInfo{
  6079  			inputs: []inputInfo{
  6080  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6081  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6082  			},
  6083  		},
  6084  	},
  6085  	{
  6086  		name:      "MOVSSstoreidx1",
  6087  		auxType:   auxSymOff,
  6088  		argLen:    4,
  6089  		symEffect: SymWrite,
  6090  		asm:       x86.AMOVSS,
  6091  		scale:     1,
  6092  		reg: regInfo{
  6093  			inputs: []inputInfo{
  6094  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6095  				{2, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6096  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6097  			},
  6098  		},
  6099  	},
  6100  	{
  6101  		name:      "MOVSSstoreidx4",
  6102  		auxType:   auxSymOff,
  6103  		argLen:    4,
  6104  		symEffect: SymWrite,
  6105  		asm:       x86.AMOVSS,
  6106  		scale:     4,
  6107  		reg: regInfo{
  6108  			inputs: []inputInfo{
  6109  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6110  				{2, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6111  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6112  			},
  6113  		},
  6114  	},
  6115  	{
  6116  		name:      "MOVSDstoreidx1",
  6117  		auxType:   auxSymOff,
  6118  		argLen:    4,
  6119  		symEffect: SymWrite,
  6120  		asm:       x86.AMOVSD,
  6121  		scale:     1,
  6122  		reg: regInfo{
  6123  			inputs: []inputInfo{
  6124  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6125  				{2, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6126  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6127  			},
  6128  		},
  6129  	},
  6130  	{
  6131  		name:      "MOVSDstoreidx8",
  6132  		auxType:   auxSymOff,
  6133  		argLen:    4,
  6134  		symEffect: SymWrite,
  6135  		asm:       x86.AMOVSD,
  6136  		scale:     8,
  6137  		reg: regInfo{
  6138  			inputs: []inputInfo{
  6139  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6140  				{2, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6141  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6142  			},
  6143  		},
  6144  	},
  6145  	{
  6146  		name:           "ADDSSload",
  6147  		auxType:        auxSymOff,
  6148  		argLen:         3,
  6149  		resultInArg0:   true,
  6150  		faultOnNilArg1: true,
  6151  		symEffect:      SymRead,
  6152  		asm:            x86.AADDSS,
  6153  		reg: regInfo{
  6154  			inputs: []inputInfo{
  6155  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6156  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6157  			},
  6158  			outputs: []outputInfo{
  6159  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6160  			},
  6161  		},
  6162  	},
  6163  	{
  6164  		name:           "ADDSDload",
  6165  		auxType:        auxSymOff,
  6166  		argLen:         3,
  6167  		resultInArg0:   true,
  6168  		faultOnNilArg1: true,
  6169  		symEffect:      SymRead,
  6170  		asm:            x86.AADDSD,
  6171  		reg: regInfo{
  6172  			inputs: []inputInfo{
  6173  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6174  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6175  			},
  6176  			outputs: []outputInfo{
  6177  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6178  			},
  6179  		},
  6180  	},
  6181  	{
  6182  		name:           "SUBSSload",
  6183  		auxType:        auxSymOff,
  6184  		argLen:         3,
  6185  		resultInArg0:   true,
  6186  		faultOnNilArg1: true,
  6187  		symEffect:      SymRead,
  6188  		asm:            x86.ASUBSS,
  6189  		reg: regInfo{
  6190  			inputs: []inputInfo{
  6191  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6192  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6193  			},
  6194  			outputs: []outputInfo{
  6195  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6196  			},
  6197  		},
  6198  	},
  6199  	{
  6200  		name:           "SUBSDload",
  6201  		auxType:        auxSymOff,
  6202  		argLen:         3,
  6203  		resultInArg0:   true,
  6204  		faultOnNilArg1: true,
  6205  		symEffect:      SymRead,
  6206  		asm:            x86.ASUBSD,
  6207  		reg: regInfo{
  6208  			inputs: []inputInfo{
  6209  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6210  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6211  			},
  6212  			outputs: []outputInfo{
  6213  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6214  			},
  6215  		},
  6216  	},
  6217  	{
  6218  		name:           "MULSSload",
  6219  		auxType:        auxSymOff,
  6220  		argLen:         3,
  6221  		resultInArg0:   true,
  6222  		faultOnNilArg1: true,
  6223  		symEffect:      SymRead,
  6224  		asm:            x86.AMULSS,
  6225  		reg: regInfo{
  6226  			inputs: []inputInfo{
  6227  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6228  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6229  			},
  6230  			outputs: []outputInfo{
  6231  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6232  			},
  6233  		},
  6234  	},
  6235  	{
  6236  		name:           "MULSDload",
  6237  		auxType:        auxSymOff,
  6238  		argLen:         3,
  6239  		resultInArg0:   true,
  6240  		faultOnNilArg1: true,
  6241  		symEffect:      SymRead,
  6242  		asm:            x86.AMULSD,
  6243  		reg: regInfo{
  6244  			inputs: []inputInfo{
  6245  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6246  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6247  			},
  6248  			outputs: []outputInfo{
  6249  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6250  			},
  6251  		},
  6252  	},
  6253  	{
  6254  		name:           "DIVSSload",
  6255  		auxType:        auxSymOff,
  6256  		argLen:         3,
  6257  		resultInArg0:   true,
  6258  		faultOnNilArg1: true,
  6259  		symEffect:      SymRead,
  6260  		asm:            x86.ADIVSS,
  6261  		reg: regInfo{
  6262  			inputs: []inputInfo{
  6263  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6264  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6265  			},
  6266  			outputs: []outputInfo{
  6267  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6268  			},
  6269  		},
  6270  	},
  6271  	{
  6272  		name:           "DIVSDload",
  6273  		auxType:        auxSymOff,
  6274  		argLen:         3,
  6275  		resultInArg0:   true,
  6276  		faultOnNilArg1: true,
  6277  		symEffect:      SymRead,
  6278  		asm:            x86.ADIVSD,
  6279  		reg: regInfo{
  6280  			inputs: []inputInfo{
  6281  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6282  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6283  			},
  6284  			outputs: []outputInfo{
  6285  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  6286  			},
  6287  		},
  6288  	},
  6289  	{
  6290  		name:         "ADDQ",
  6291  		argLen:       2,
  6292  		commutative:  true,
  6293  		clobberFlags: true,
  6294  		asm:          x86.AADDQ,
  6295  		reg: regInfo{
  6296  			inputs: []inputInfo{
  6297  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6298  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6299  			},
  6300  			outputs: []outputInfo{
  6301  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6302  			},
  6303  		},
  6304  	},
  6305  	{
  6306  		name:         "ADDL",
  6307  		argLen:       2,
  6308  		commutative:  true,
  6309  		clobberFlags: true,
  6310  		asm:          x86.AADDL,
  6311  		reg: regInfo{
  6312  			inputs: []inputInfo{
  6313  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6314  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6315  			},
  6316  			outputs: []outputInfo{
  6317  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6318  			},
  6319  		},
  6320  	},
  6321  	{
  6322  		name:         "ADDQconst",
  6323  		auxType:      auxInt32,
  6324  		argLen:       1,
  6325  		clobberFlags: true,
  6326  		asm:          x86.AADDQ,
  6327  		reg: regInfo{
  6328  			inputs: []inputInfo{
  6329  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6330  			},
  6331  			outputs: []outputInfo{
  6332  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6333  			},
  6334  		},
  6335  	},
  6336  	{
  6337  		name:         "ADDLconst",
  6338  		auxType:      auxInt32,
  6339  		argLen:       1,
  6340  		clobberFlags: true,
  6341  		asm:          x86.AADDL,
  6342  		reg: regInfo{
  6343  			inputs: []inputInfo{
  6344  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6345  			},
  6346  			outputs: []outputInfo{
  6347  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6348  			},
  6349  		},
  6350  	},
  6351  	{
  6352  		name:           "ADDQconstmodify",
  6353  		auxType:        auxSymValAndOff,
  6354  		argLen:         2,
  6355  		clobberFlags:   true,
  6356  		faultOnNilArg0: true,
  6357  		symEffect:      SymRead | SymWrite,
  6358  		asm:            x86.AADDQ,
  6359  		reg: regInfo{
  6360  			inputs: []inputInfo{
  6361  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6362  			},
  6363  		},
  6364  	},
  6365  	{
  6366  		name:           "ADDLconstmodify",
  6367  		auxType:        auxSymValAndOff,
  6368  		argLen:         2,
  6369  		clobberFlags:   true,
  6370  		faultOnNilArg0: true,
  6371  		symEffect:      SymRead | SymWrite,
  6372  		asm:            x86.AADDL,
  6373  		reg: regInfo{
  6374  			inputs: []inputInfo{
  6375  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6376  			},
  6377  		},
  6378  	},
  6379  	{
  6380  		name:         "SUBQ",
  6381  		argLen:       2,
  6382  		resultInArg0: true,
  6383  		clobberFlags: true,
  6384  		asm:          x86.ASUBQ,
  6385  		reg: regInfo{
  6386  			inputs: []inputInfo{
  6387  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6388  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6389  			},
  6390  			outputs: []outputInfo{
  6391  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6392  			},
  6393  		},
  6394  	},
  6395  	{
  6396  		name:         "SUBL",
  6397  		argLen:       2,
  6398  		resultInArg0: true,
  6399  		clobberFlags: true,
  6400  		asm:          x86.ASUBL,
  6401  		reg: regInfo{
  6402  			inputs: []inputInfo{
  6403  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6404  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6405  			},
  6406  			outputs: []outputInfo{
  6407  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6408  			},
  6409  		},
  6410  	},
  6411  	{
  6412  		name:         "SUBQconst",
  6413  		auxType:      auxInt32,
  6414  		argLen:       1,
  6415  		resultInArg0: true,
  6416  		clobberFlags: true,
  6417  		asm:          x86.ASUBQ,
  6418  		reg: regInfo{
  6419  			inputs: []inputInfo{
  6420  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6421  			},
  6422  			outputs: []outputInfo{
  6423  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6424  			},
  6425  		},
  6426  	},
  6427  	{
  6428  		name:         "SUBLconst",
  6429  		auxType:      auxInt32,
  6430  		argLen:       1,
  6431  		resultInArg0: true,
  6432  		clobberFlags: true,
  6433  		asm:          x86.ASUBL,
  6434  		reg: regInfo{
  6435  			inputs: []inputInfo{
  6436  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6437  			},
  6438  			outputs: []outputInfo{
  6439  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6440  			},
  6441  		},
  6442  	},
  6443  	{
  6444  		name:         "MULQ",
  6445  		argLen:       2,
  6446  		commutative:  true,
  6447  		resultInArg0: true,
  6448  		clobberFlags: true,
  6449  		asm:          x86.AIMULQ,
  6450  		reg: regInfo{
  6451  			inputs: []inputInfo{
  6452  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6453  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6454  			},
  6455  			outputs: []outputInfo{
  6456  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6457  			},
  6458  		},
  6459  	},
  6460  	{
  6461  		name:         "MULL",
  6462  		argLen:       2,
  6463  		commutative:  true,
  6464  		resultInArg0: true,
  6465  		clobberFlags: true,
  6466  		asm:          x86.AIMULL,
  6467  		reg: regInfo{
  6468  			inputs: []inputInfo{
  6469  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6470  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6471  			},
  6472  			outputs: []outputInfo{
  6473  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6474  			},
  6475  		},
  6476  	},
  6477  	{
  6478  		name:         "MULQconst",
  6479  		auxType:      auxInt32,
  6480  		argLen:       1,
  6481  		clobberFlags: true,
  6482  		asm:          x86.AIMUL3Q,
  6483  		reg: regInfo{
  6484  			inputs: []inputInfo{
  6485  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6486  			},
  6487  			outputs: []outputInfo{
  6488  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6489  			},
  6490  		},
  6491  	},
  6492  	{
  6493  		name:         "MULLconst",
  6494  		auxType:      auxInt32,
  6495  		argLen:       1,
  6496  		clobberFlags: true,
  6497  		asm:          x86.AIMUL3L,
  6498  		reg: regInfo{
  6499  			inputs: []inputInfo{
  6500  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6501  			},
  6502  			outputs: []outputInfo{
  6503  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6504  			},
  6505  		},
  6506  	},
  6507  	{
  6508  		name:         "MULLU",
  6509  		argLen:       2,
  6510  		commutative:  true,
  6511  		clobberFlags: true,
  6512  		asm:          x86.AMULL,
  6513  		reg: regInfo{
  6514  			inputs: []inputInfo{
  6515  				{0, 1},     // AX
  6516  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6517  			},
  6518  			clobbers: 4, // DX
  6519  			outputs: []outputInfo{
  6520  				{1, 0},
  6521  				{0, 1}, // AX
  6522  			},
  6523  		},
  6524  	},
  6525  	{
  6526  		name:         "MULQU",
  6527  		argLen:       2,
  6528  		commutative:  true,
  6529  		clobberFlags: true,
  6530  		asm:          x86.AMULQ,
  6531  		reg: regInfo{
  6532  			inputs: []inputInfo{
  6533  				{0, 1},     // AX
  6534  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6535  			},
  6536  			clobbers: 4, // DX
  6537  			outputs: []outputInfo{
  6538  				{1, 0},
  6539  				{0, 1}, // AX
  6540  			},
  6541  		},
  6542  	},
  6543  	{
  6544  		name:         "HMULQ",
  6545  		argLen:       2,
  6546  		commutative:  true,
  6547  		clobberFlags: true,
  6548  		asm:          x86.AIMULQ,
  6549  		reg: regInfo{
  6550  			inputs: []inputInfo{
  6551  				{0, 1},     // AX
  6552  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6553  			},
  6554  			clobbers: 1, // AX
  6555  			outputs: []outputInfo{
  6556  				{0, 4}, // DX
  6557  			},
  6558  		},
  6559  	},
  6560  	{
  6561  		name:         "HMULL",
  6562  		argLen:       2,
  6563  		commutative:  true,
  6564  		clobberFlags: true,
  6565  		asm:          x86.AIMULL,
  6566  		reg: regInfo{
  6567  			inputs: []inputInfo{
  6568  				{0, 1},     // AX
  6569  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6570  			},
  6571  			clobbers: 1, // AX
  6572  			outputs: []outputInfo{
  6573  				{0, 4}, // DX
  6574  			},
  6575  		},
  6576  	},
  6577  	{
  6578  		name:         "HMULQU",
  6579  		argLen:       2,
  6580  		commutative:  true,
  6581  		clobberFlags: true,
  6582  		asm:          x86.AMULQ,
  6583  		reg: regInfo{
  6584  			inputs: []inputInfo{
  6585  				{0, 1},     // AX
  6586  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6587  			},
  6588  			clobbers: 1, // AX
  6589  			outputs: []outputInfo{
  6590  				{0, 4}, // DX
  6591  			},
  6592  		},
  6593  	},
  6594  	{
  6595  		name:         "HMULLU",
  6596  		argLen:       2,
  6597  		commutative:  true,
  6598  		clobberFlags: true,
  6599  		asm:          x86.AMULL,
  6600  		reg: regInfo{
  6601  			inputs: []inputInfo{
  6602  				{0, 1},     // AX
  6603  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6604  			},
  6605  			clobbers: 1, // AX
  6606  			outputs: []outputInfo{
  6607  				{0, 4}, // DX
  6608  			},
  6609  		},
  6610  	},
  6611  	{
  6612  		name:         "AVGQU",
  6613  		argLen:       2,
  6614  		commutative:  true,
  6615  		resultInArg0: true,
  6616  		clobberFlags: true,
  6617  		reg: regInfo{
  6618  			inputs: []inputInfo{
  6619  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6620  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6621  			},
  6622  			outputs: []outputInfo{
  6623  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6624  			},
  6625  		},
  6626  	},
  6627  	{
  6628  		name:         "DIVQ",
  6629  		auxType:      auxBool,
  6630  		argLen:       2,
  6631  		clobberFlags: true,
  6632  		asm:          x86.AIDIVQ,
  6633  		reg: regInfo{
  6634  			inputs: []inputInfo{
  6635  				{0, 1},     // AX
  6636  				{1, 65531}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6637  			},
  6638  			outputs: []outputInfo{
  6639  				{0, 1}, // AX
  6640  				{1, 4}, // DX
  6641  			},
  6642  		},
  6643  	},
  6644  	{
  6645  		name:         "DIVL",
  6646  		auxType:      auxBool,
  6647  		argLen:       2,
  6648  		clobberFlags: true,
  6649  		asm:          x86.AIDIVL,
  6650  		reg: regInfo{
  6651  			inputs: []inputInfo{
  6652  				{0, 1},     // AX
  6653  				{1, 65531}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6654  			},
  6655  			outputs: []outputInfo{
  6656  				{0, 1}, // AX
  6657  				{1, 4}, // DX
  6658  			},
  6659  		},
  6660  	},
  6661  	{
  6662  		name:         "DIVW",
  6663  		auxType:      auxBool,
  6664  		argLen:       2,
  6665  		clobberFlags: true,
  6666  		asm:          x86.AIDIVW,
  6667  		reg: regInfo{
  6668  			inputs: []inputInfo{
  6669  				{0, 1},     // AX
  6670  				{1, 65531}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6671  			},
  6672  			outputs: []outputInfo{
  6673  				{0, 1}, // AX
  6674  				{1, 4}, // DX
  6675  			},
  6676  		},
  6677  	},
  6678  	{
  6679  		name:         "DIVQU",
  6680  		argLen:       2,
  6681  		clobberFlags: true,
  6682  		asm:          x86.ADIVQ,
  6683  		reg: regInfo{
  6684  			inputs: []inputInfo{
  6685  				{0, 1},     // AX
  6686  				{1, 65531}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6687  			},
  6688  			outputs: []outputInfo{
  6689  				{0, 1}, // AX
  6690  				{1, 4}, // DX
  6691  			},
  6692  		},
  6693  	},
  6694  	{
  6695  		name:         "DIVLU",
  6696  		argLen:       2,
  6697  		clobberFlags: true,
  6698  		asm:          x86.ADIVL,
  6699  		reg: regInfo{
  6700  			inputs: []inputInfo{
  6701  				{0, 1},     // AX
  6702  				{1, 65531}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6703  			},
  6704  			outputs: []outputInfo{
  6705  				{0, 1}, // AX
  6706  				{1, 4}, // DX
  6707  			},
  6708  		},
  6709  	},
  6710  	{
  6711  		name:         "DIVWU",
  6712  		argLen:       2,
  6713  		clobberFlags: true,
  6714  		asm:          x86.ADIVW,
  6715  		reg: regInfo{
  6716  			inputs: []inputInfo{
  6717  				{0, 1},     // AX
  6718  				{1, 65531}, // AX CX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6719  			},
  6720  			outputs: []outputInfo{
  6721  				{0, 1}, // AX
  6722  				{1, 4}, // DX
  6723  			},
  6724  		},
  6725  	},
  6726  	{
  6727  		name:         "NEGLflags",
  6728  		argLen:       1,
  6729  		resultInArg0: true,
  6730  		asm:          x86.ANEGL,
  6731  		reg: regInfo{
  6732  			inputs: []inputInfo{
  6733  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6734  			},
  6735  			outputs: []outputInfo{
  6736  				{1, 0},
  6737  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6738  			},
  6739  		},
  6740  	},
  6741  	{
  6742  		name:         "ADDQcarry",
  6743  		argLen:       2,
  6744  		commutative:  true,
  6745  		resultInArg0: true,
  6746  		asm:          x86.AADDQ,
  6747  		reg: regInfo{
  6748  			inputs: []inputInfo{
  6749  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6750  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6751  			},
  6752  			outputs: []outputInfo{
  6753  				{1, 0},
  6754  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6755  			},
  6756  		},
  6757  	},
  6758  	{
  6759  		name:         "ADCQ",
  6760  		argLen:       3,
  6761  		commutative:  true,
  6762  		resultInArg0: true,
  6763  		asm:          x86.AADCQ,
  6764  		reg: regInfo{
  6765  			inputs: []inputInfo{
  6766  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6767  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6768  			},
  6769  			outputs: []outputInfo{
  6770  				{1, 0},
  6771  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6772  			},
  6773  		},
  6774  	},
  6775  	{
  6776  		name:         "ADDQconstcarry",
  6777  		auxType:      auxInt32,
  6778  		argLen:       1,
  6779  		resultInArg0: true,
  6780  		asm:          x86.AADDQ,
  6781  		reg: regInfo{
  6782  			inputs: []inputInfo{
  6783  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6784  			},
  6785  			outputs: []outputInfo{
  6786  				{1, 0},
  6787  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6788  			},
  6789  		},
  6790  	},
  6791  	{
  6792  		name:         "ADCQconst",
  6793  		auxType:      auxInt32,
  6794  		argLen:       2,
  6795  		resultInArg0: true,
  6796  		asm:          x86.AADCQ,
  6797  		reg: regInfo{
  6798  			inputs: []inputInfo{
  6799  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6800  			},
  6801  			outputs: []outputInfo{
  6802  				{1, 0},
  6803  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6804  			},
  6805  		},
  6806  	},
  6807  	{
  6808  		name:         "SUBQborrow",
  6809  		argLen:       2,
  6810  		resultInArg0: true,
  6811  		asm:          x86.ASUBQ,
  6812  		reg: regInfo{
  6813  			inputs: []inputInfo{
  6814  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6815  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6816  			},
  6817  			outputs: []outputInfo{
  6818  				{1, 0},
  6819  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6820  			},
  6821  		},
  6822  	},
  6823  	{
  6824  		name:         "SBBQ",
  6825  		argLen:       3,
  6826  		resultInArg0: true,
  6827  		asm:          x86.ASBBQ,
  6828  		reg: regInfo{
  6829  			inputs: []inputInfo{
  6830  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6831  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6832  			},
  6833  			outputs: []outputInfo{
  6834  				{1, 0},
  6835  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6836  			},
  6837  		},
  6838  	},
  6839  	{
  6840  		name:         "SUBQconstborrow",
  6841  		auxType:      auxInt32,
  6842  		argLen:       1,
  6843  		resultInArg0: true,
  6844  		asm:          x86.ASUBQ,
  6845  		reg: regInfo{
  6846  			inputs: []inputInfo{
  6847  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6848  			},
  6849  			outputs: []outputInfo{
  6850  				{1, 0},
  6851  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6852  			},
  6853  		},
  6854  	},
  6855  	{
  6856  		name:         "SBBQconst",
  6857  		auxType:      auxInt32,
  6858  		argLen:       2,
  6859  		resultInArg0: true,
  6860  		asm:          x86.ASBBQ,
  6861  		reg: regInfo{
  6862  			inputs: []inputInfo{
  6863  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6864  			},
  6865  			outputs: []outputInfo{
  6866  				{1, 0},
  6867  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6868  			},
  6869  		},
  6870  	},
  6871  	{
  6872  		name:         "MULQU2",
  6873  		argLen:       2,
  6874  		commutative:  true,
  6875  		clobberFlags: true,
  6876  		asm:          x86.AMULQ,
  6877  		reg: regInfo{
  6878  			inputs: []inputInfo{
  6879  				{0, 1},     // AX
  6880  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6881  			},
  6882  			outputs: []outputInfo{
  6883  				{0, 4}, // DX
  6884  				{1, 1}, // AX
  6885  			},
  6886  		},
  6887  	},
  6888  	{
  6889  		name:         "DIVQU2",
  6890  		argLen:       3,
  6891  		clobberFlags: true,
  6892  		asm:          x86.ADIVQ,
  6893  		reg: regInfo{
  6894  			inputs: []inputInfo{
  6895  				{0, 4},     // DX
  6896  				{1, 1},     // AX
  6897  				{2, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6898  			},
  6899  			outputs: []outputInfo{
  6900  				{0, 1}, // AX
  6901  				{1, 4}, // DX
  6902  			},
  6903  		},
  6904  	},
  6905  	{
  6906  		name:         "ANDQ",
  6907  		argLen:       2,
  6908  		commutative:  true,
  6909  		resultInArg0: true,
  6910  		clobberFlags: true,
  6911  		asm:          x86.AANDQ,
  6912  		reg: regInfo{
  6913  			inputs: []inputInfo{
  6914  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6915  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6916  			},
  6917  			outputs: []outputInfo{
  6918  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6919  			},
  6920  		},
  6921  	},
  6922  	{
  6923  		name:         "ANDL",
  6924  		argLen:       2,
  6925  		commutative:  true,
  6926  		resultInArg0: true,
  6927  		clobberFlags: true,
  6928  		asm:          x86.AANDL,
  6929  		reg: regInfo{
  6930  			inputs: []inputInfo{
  6931  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6932  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6933  			},
  6934  			outputs: []outputInfo{
  6935  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6936  			},
  6937  		},
  6938  	},
  6939  	{
  6940  		name:         "ANDQconst",
  6941  		auxType:      auxInt32,
  6942  		argLen:       1,
  6943  		resultInArg0: true,
  6944  		clobberFlags: true,
  6945  		asm:          x86.AANDQ,
  6946  		reg: regInfo{
  6947  			inputs: []inputInfo{
  6948  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6949  			},
  6950  			outputs: []outputInfo{
  6951  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6952  			},
  6953  		},
  6954  	},
  6955  	{
  6956  		name:         "ANDLconst",
  6957  		auxType:      auxInt32,
  6958  		argLen:       1,
  6959  		resultInArg0: true,
  6960  		clobberFlags: true,
  6961  		asm:          x86.AANDL,
  6962  		reg: regInfo{
  6963  			inputs: []inputInfo{
  6964  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6965  			},
  6966  			outputs: []outputInfo{
  6967  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  6968  			},
  6969  		},
  6970  	},
  6971  	{
  6972  		name:           "ANDQconstmodify",
  6973  		auxType:        auxSymValAndOff,
  6974  		argLen:         2,
  6975  		clobberFlags:   true,
  6976  		faultOnNilArg0: true,
  6977  		symEffect:      SymRead | SymWrite,
  6978  		asm:            x86.AANDQ,
  6979  		reg: regInfo{
  6980  			inputs: []inputInfo{
  6981  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6982  			},
  6983  		},
  6984  	},
  6985  	{
  6986  		name:           "ANDLconstmodify",
  6987  		auxType:        auxSymValAndOff,
  6988  		argLen:         2,
  6989  		clobberFlags:   true,
  6990  		faultOnNilArg0: true,
  6991  		symEffect:      SymRead | SymWrite,
  6992  		asm:            x86.AANDL,
  6993  		reg: regInfo{
  6994  			inputs: []inputInfo{
  6995  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  6996  			},
  6997  		},
  6998  	},
  6999  	{
  7000  		name:         "ORQ",
  7001  		argLen:       2,
  7002  		commutative:  true,
  7003  		resultInArg0: true,
  7004  		clobberFlags: true,
  7005  		asm:          x86.AORQ,
  7006  		reg: regInfo{
  7007  			inputs: []inputInfo{
  7008  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7009  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7010  			},
  7011  			outputs: []outputInfo{
  7012  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7013  			},
  7014  		},
  7015  	},
  7016  	{
  7017  		name:         "ORL",
  7018  		argLen:       2,
  7019  		commutative:  true,
  7020  		resultInArg0: true,
  7021  		clobberFlags: true,
  7022  		asm:          x86.AORL,
  7023  		reg: regInfo{
  7024  			inputs: []inputInfo{
  7025  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7026  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7027  			},
  7028  			outputs: []outputInfo{
  7029  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7030  			},
  7031  		},
  7032  	},
  7033  	{
  7034  		name:         "ORQconst",
  7035  		auxType:      auxInt32,
  7036  		argLen:       1,
  7037  		resultInArg0: true,
  7038  		clobberFlags: true,
  7039  		asm:          x86.AORQ,
  7040  		reg: regInfo{
  7041  			inputs: []inputInfo{
  7042  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7043  			},
  7044  			outputs: []outputInfo{
  7045  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7046  			},
  7047  		},
  7048  	},
  7049  	{
  7050  		name:         "ORLconst",
  7051  		auxType:      auxInt32,
  7052  		argLen:       1,
  7053  		resultInArg0: true,
  7054  		clobberFlags: true,
  7055  		asm:          x86.AORL,
  7056  		reg: regInfo{
  7057  			inputs: []inputInfo{
  7058  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7059  			},
  7060  			outputs: []outputInfo{
  7061  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7062  			},
  7063  		},
  7064  	},
  7065  	{
  7066  		name:           "ORQconstmodify",
  7067  		auxType:        auxSymValAndOff,
  7068  		argLen:         2,
  7069  		clobberFlags:   true,
  7070  		faultOnNilArg0: true,
  7071  		symEffect:      SymRead | SymWrite,
  7072  		asm:            x86.AORQ,
  7073  		reg: regInfo{
  7074  			inputs: []inputInfo{
  7075  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7076  			},
  7077  		},
  7078  	},
  7079  	{
  7080  		name:           "ORLconstmodify",
  7081  		auxType:        auxSymValAndOff,
  7082  		argLen:         2,
  7083  		clobberFlags:   true,
  7084  		faultOnNilArg0: true,
  7085  		symEffect:      SymRead | SymWrite,
  7086  		asm:            x86.AORL,
  7087  		reg: regInfo{
  7088  			inputs: []inputInfo{
  7089  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7090  			},
  7091  		},
  7092  	},
  7093  	{
  7094  		name:         "XORQ",
  7095  		argLen:       2,
  7096  		commutative:  true,
  7097  		resultInArg0: true,
  7098  		clobberFlags: true,
  7099  		asm:          x86.AXORQ,
  7100  		reg: regInfo{
  7101  			inputs: []inputInfo{
  7102  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7103  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7104  			},
  7105  			outputs: []outputInfo{
  7106  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7107  			},
  7108  		},
  7109  	},
  7110  	{
  7111  		name:         "XORL",
  7112  		argLen:       2,
  7113  		commutative:  true,
  7114  		resultInArg0: true,
  7115  		clobberFlags: true,
  7116  		asm:          x86.AXORL,
  7117  		reg: regInfo{
  7118  			inputs: []inputInfo{
  7119  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7120  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7121  			},
  7122  			outputs: []outputInfo{
  7123  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7124  			},
  7125  		},
  7126  	},
  7127  	{
  7128  		name:         "XORQconst",
  7129  		auxType:      auxInt32,
  7130  		argLen:       1,
  7131  		resultInArg0: true,
  7132  		clobberFlags: true,
  7133  		asm:          x86.AXORQ,
  7134  		reg: regInfo{
  7135  			inputs: []inputInfo{
  7136  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7137  			},
  7138  			outputs: []outputInfo{
  7139  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7140  			},
  7141  		},
  7142  	},
  7143  	{
  7144  		name:         "XORLconst",
  7145  		auxType:      auxInt32,
  7146  		argLen:       1,
  7147  		resultInArg0: true,
  7148  		clobberFlags: true,
  7149  		asm:          x86.AXORL,
  7150  		reg: regInfo{
  7151  			inputs: []inputInfo{
  7152  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7153  			},
  7154  			outputs: []outputInfo{
  7155  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7156  			},
  7157  		},
  7158  	},
  7159  	{
  7160  		name:           "XORQconstmodify",
  7161  		auxType:        auxSymValAndOff,
  7162  		argLen:         2,
  7163  		clobberFlags:   true,
  7164  		faultOnNilArg0: true,
  7165  		symEffect:      SymRead | SymWrite,
  7166  		asm:            x86.AXORQ,
  7167  		reg: regInfo{
  7168  			inputs: []inputInfo{
  7169  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7170  			},
  7171  		},
  7172  	},
  7173  	{
  7174  		name:           "XORLconstmodify",
  7175  		auxType:        auxSymValAndOff,
  7176  		argLen:         2,
  7177  		clobberFlags:   true,
  7178  		faultOnNilArg0: true,
  7179  		symEffect:      SymRead | SymWrite,
  7180  		asm:            x86.AXORL,
  7181  		reg: regInfo{
  7182  			inputs: []inputInfo{
  7183  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7184  			},
  7185  		},
  7186  	},
  7187  	{
  7188  		name:   "CMPQ",
  7189  		argLen: 2,
  7190  		asm:    x86.ACMPQ,
  7191  		reg: regInfo{
  7192  			inputs: []inputInfo{
  7193  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7194  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7195  			},
  7196  		},
  7197  	},
  7198  	{
  7199  		name:   "CMPL",
  7200  		argLen: 2,
  7201  		asm:    x86.ACMPL,
  7202  		reg: regInfo{
  7203  			inputs: []inputInfo{
  7204  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7205  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7206  			},
  7207  		},
  7208  	},
  7209  	{
  7210  		name:   "CMPW",
  7211  		argLen: 2,
  7212  		asm:    x86.ACMPW,
  7213  		reg: regInfo{
  7214  			inputs: []inputInfo{
  7215  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7216  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7217  			},
  7218  		},
  7219  	},
  7220  	{
  7221  		name:   "CMPB",
  7222  		argLen: 2,
  7223  		asm:    x86.ACMPB,
  7224  		reg: regInfo{
  7225  			inputs: []inputInfo{
  7226  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7227  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7228  			},
  7229  		},
  7230  	},
  7231  	{
  7232  		name:    "CMPQconst",
  7233  		auxType: auxInt32,
  7234  		argLen:  1,
  7235  		asm:     x86.ACMPQ,
  7236  		reg: regInfo{
  7237  			inputs: []inputInfo{
  7238  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7239  			},
  7240  		},
  7241  	},
  7242  	{
  7243  		name:    "CMPLconst",
  7244  		auxType: auxInt32,
  7245  		argLen:  1,
  7246  		asm:     x86.ACMPL,
  7247  		reg: regInfo{
  7248  			inputs: []inputInfo{
  7249  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7250  			},
  7251  		},
  7252  	},
  7253  	{
  7254  		name:    "CMPWconst",
  7255  		auxType: auxInt16,
  7256  		argLen:  1,
  7257  		asm:     x86.ACMPW,
  7258  		reg: regInfo{
  7259  			inputs: []inputInfo{
  7260  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7261  			},
  7262  		},
  7263  	},
  7264  	{
  7265  		name:    "CMPBconst",
  7266  		auxType: auxInt8,
  7267  		argLen:  1,
  7268  		asm:     x86.ACMPB,
  7269  		reg: regInfo{
  7270  			inputs: []inputInfo{
  7271  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7272  			},
  7273  		},
  7274  	},
  7275  	{
  7276  		name:           "CMPQload",
  7277  		auxType:        auxSymOff,
  7278  		argLen:         3,
  7279  		faultOnNilArg0: true,
  7280  		symEffect:      SymRead,
  7281  		asm:            x86.ACMPQ,
  7282  		reg: regInfo{
  7283  			inputs: []inputInfo{
  7284  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7285  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7286  			},
  7287  		},
  7288  	},
  7289  	{
  7290  		name:           "CMPLload",
  7291  		auxType:        auxSymOff,
  7292  		argLen:         3,
  7293  		faultOnNilArg0: true,
  7294  		symEffect:      SymRead,
  7295  		asm:            x86.ACMPL,
  7296  		reg: regInfo{
  7297  			inputs: []inputInfo{
  7298  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7299  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7300  			},
  7301  		},
  7302  	},
  7303  	{
  7304  		name:           "CMPWload",
  7305  		auxType:        auxSymOff,
  7306  		argLen:         3,
  7307  		faultOnNilArg0: true,
  7308  		symEffect:      SymRead,
  7309  		asm:            x86.ACMPW,
  7310  		reg: regInfo{
  7311  			inputs: []inputInfo{
  7312  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7313  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7314  			},
  7315  		},
  7316  	},
  7317  	{
  7318  		name:           "CMPBload",
  7319  		auxType:        auxSymOff,
  7320  		argLen:         3,
  7321  		faultOnNilArg0: true,
  7322  		symEffect:      SymRead,
  7323  		asm:            x86.ACMPB,
  7324  		reg: regInfo{
  7325  			inputs: []inputInfo{
  7326  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7327  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7328  			},
  7329  		},
  7330  	},
  7331  	{
  7332  		name:           "CMPQconstload",
  7333  		auxType:        auxSymValAndOff,
  7334  		argLen:         2,
  7335  		faultOnNilArg0: true,
  7336  		symEffect:      SymRead,
  7337  		asm:            x86.ACMPQ,
  7338  		reg: regInfo{
  7339  			inputs: []inputInfo{
  7340  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7341  			},
  7342  		},
  7343  	},
  7344  	{
  7345  		name:           "CMPLconstload",
  7346  		auxType:        auxSymValAndOff,
  7347  		argLen:         2,
  7348  		faultOnNilArg0: true,
  7349  		symEffect:      SymRead,
  7350  		asm:            x86.ACMPL,
  7351  		reg: regInfo{
  7352  			inputs: []inputInfo{
  7353  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7354  			},
  7355  		},
  7356  	},
  7357  	{
  7358  		name:           "CMPWconstload",
  7359  		auxType:        auxSymValAndOff,
  7360  		argLen:         2,
  7361  		faultOnNilArg0: true,
  7362  		symEffect:      SymRead,
  7363  		asm:            x86.ACMPW,
  7364  		reg: regInfo{
  7365  			inputs: []inputInfo{
  7366  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7367  			},
  7368  		},
  7369  	},
  7370  	{
  7371  		name:           "CMPBconstload",
  7372  		auxType:        auxSymValAndOff,
  7373  		argLen:         2,
  7374  		faultOnNilArg0: true,
  7375  		symEffect:      SymRead,
  7376  		asm:            x86.ACMPB,
  7377  		reg: regInfo{
  7378  			inputs: []inputInfo{
  7379  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7380  			},
  7381  		},
  7382  	},
  7383  	{
  7384  		name:   "UCOMISS",
  7385  		argLen: 2,
  7386  		asm:    x86.AUCOMISS,
  7387  		reg: regInfo{
  7388  			inputs: []inputInfo{
  7389  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  7390  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  7391  			},
  7392  		},
  7393  	},
  7394  	{
  7395  		name:   "UCOMISD",
  7396  		argLen: 2,
  7397  		asm:    x86.AUCOMISD,
  7398  		reg: regInfo{
  7399  			inputs: []inputInfo{
  7400  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  7401  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  7402  			},
  7403  		},
  7404  	},
  7405  	{
  7406  		name:   "BTL",
  7407  		argLen: 2,
  7408  		asm:    x86.ABTL,
  7409  		reg: regInfo{
  7410  			inputs: []inputInfo{
  7411  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7412  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7413  			},
  7414  		},
  7415  	},
  7416  	{
  7417  		name:   "BTQ",
  7418  		argLen: 2,
  7419  		asm:    x86.ABTQ,
  7420  		reg: regInfo{
  7421  			inputs: []inputInfo{
  7422  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7423  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7424  			},
  7425  		},
  7426  	},
  7427  	{
  7428  		name:         "BTCL",
  7429  		argLen:       2,
  7430  		resultInArg0: true,
  7431  		clobberFlags: true,
  7432  		asm:          x86.ABTCL,
  7433  		reg: regInfo{
  7434  			inputs: []inputInfo{
  7435  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7436  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7437  			},
  7438  			outputs: []outputInfo{
  7439  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7440  			},
  7441  		},
  7442  	},
  7443  	{
  7444  		name:         "BTCQ",
  7445  		argLen:       2,
  7446  		resultInArg0: true,
  7447  		clobberFlags: true,
  7448  		asm:          x86.ABTCQ,
  7449  		reg: regInfo{
  7450  			inputs: []inputInfo{
  7451  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7452  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7453  			},
  7454  			outputs: []outputInfo{
  7455  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7456  			},
  7457  		},
  7458  	},
  7459  	{
  7460  		name:         "BTRL",
  7461  		argLen:       2,
  7462  		resultInArg0: true,
  7463  		clobberFlags: true,
  7464  		asm:          x86.ABTRL,
  7465  		reg: regInfo{
  7466  			inputs: []inputInfo{
  7467  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7468  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7469  			},
  7470  			outputs: []outputInfo{
  7471  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7472  			},
  7473  		},
  7474  	},
  7475  	{
  7476  		name:         "BTRQ",
  7477  		argLen:       2,
  7478  		resultInArg0: true,
  7479  		clobberFlags: true,
  7480  		asm:          x86.ABTRQ,
  7481  		reg: regInfo{
  7482  			inputs: []inputInfo{
  7483  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7484  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7485  			},
  7486  			outputs: []outputInfo{
  7487  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7488  			},
  7489  		},
  7490  	},
  7491  	{
  7492  		name:         "BTSL",
  7493  		argLen:       2,
  7494  		resultInArg0: true,
  7495  		clobberFlags: true,
  7496  		asm:          x86.ABTSL,
  7497  		reg: regInfo{
  7498  			inputs: []inputInfo{
  7499  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7500  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7501  			},
  7502  			outputs: []outputInfo{
  7503  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7504  			},
  7505  		},
  7506  	},
  7507  	{
  7508  		name:         "BTSQ",
  7509  		argLen:       2,
  7510  		resultInArg0: true,
  7511  		clobberFlags: true,
  7512  		asm:          x86.ABTSQ,
  7513  		reg: regInfo{
  7514  			inputs: []inputInfo{
  7515  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7516  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7517  			},
  7518  			outputs: []outputInfo{
  7519  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7520  			},
  7521  		},
  7522  	},
  7523  	{
  7524  		name:    "BTLconst",
  7525  		auxType: auxInt8,
  7526  		argLen:  1,
  7527  		asm:     x86.ABTL,
  7528  		reg: regInfo{
  7529  			inputs: []inputInfo{
  7530  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7531  			},
  7532  		},
  7533  	},
  7534  	{
  7535  		name:    "BTQconst",
  7536  		auxType: auxInt8,
  7537  		argLen:  1,
  7538  		asm:     x86.ABTQ,
  7539  		reg: regInfo{
  7540  			inputs: []inputInfo{
  7541  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7542  			},
  7543  		},
  7544  	},
  7545  	{
  7546  		name:         "BTCLconst",
  7547  		auxType:      auxInt8,
  7548  		argLen:       1,
  7549  		resultInArg0: true,
  7550  		clobberFlags: true,
  7551  		asm:          x86.ABTCL,
  7552  		reg: regInfo{
  7553  			inputs: []inputInfo{
  7554  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7555  			},
  7556  			outputs: []outputInfo{
  7557  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7558  			},
  7559  		},
  7560  	},
  7561  	{
  7562  		name:         "BTCQconst",
  7563  		auxType:      auxInt8,
  7564  		argLen:       1,
  7565  		resultInArg0: true,
  7566  		clobberFlags: true,
  7567  		asm:          x86.ABTCQ,
  7568  		reg: regInfo{
  7569  			inputs: []inputInfo{
  7570  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7571  			},
  7572  			outputs: []outputInfo{
  7573  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7574  			},
  7575  		},
  7576  	},
  7577  	{
  7578  		name:         "BTRLconst",
  7579  		auxType:      auxInt8,
  7580  		argLen:       1,
  7581  		resultInArg0: true,
  7582  		clobberFlags: true,
  7583  		asm:          x86.ABTRL,
  7584  		reg: regInfo{
  7585  			inputs: []inputInfo{
  7586  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7587  			},
  7588  			outputs: []outputInfo{
  7589  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7590  			},
  7591  		},
  7592  	},
  7593  	{
  7594  		name:         "BTRQconst",
  7595  		auxType:      auxInt8,
  7596  		argLen:       1,
  7597  		resultInArg0: true,
  7598  		clobberFlags: true,
  7599  		asm:          x86.ABTRQ,
  7600  		reg: regInfo{
  7601  			inputs: []inputInfo{
  7602  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7603  			},
  7604  			outputs: []outputInfo{
  7605  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7606  			},
  7607  		},
  7608  	},
  7609  	{
  7610  		name:         "BTSLconst",
  7611  		auxType:      auxInt8,
  7612  		argLen:       1,
  7613  		resultInArg0: true,
  7614  		clobberFlags: true,
  7615  		asm:          x86.ABTSL,
  7616  		reg: regInfo{
  7617  			inputs: []inputInfo{
  7618  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7619  			},
  7620  			outputs: []outputInfo{
  7621  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7622  			},
  7623  		},
  7624  	},
  7625  	{
  7626  		name:         "BTSQconst",
  7627  		auxType:      auxInt8,
  7628  		argLen:       1,
  7629  		resultInArg0: true,
  7630  		clobberFlags: true,
  7631  		asm:          x86.ABTSQ,
  7632  		reg: regInfo{
  7633  			inputs: []inputInfo{
  7634  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7635  			},
  7636  			outputs: []outputInfo{
  7637  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7638  			},
  7639  		},
  7640  	},
  7641  	{
  7642  		name:           "BTCQmodify",
  7643  		auxType:        auxSymOff,
  7644  		argLen:         3,
  7645  		clobberFlags:   true,
  7646  		faultOnNilArg0: true,
  7647  		symEffect:      SymRead | SymWrite,
  7648  		asm:            x86.ABTCQ,
  7649  		reg: regInfo{
  7650  			inputs: []inputInfo{
  7651  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7652  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7653  			},
  7654  		},
  7655  	},
  7656  	{
  7657  		name:           "BTCLmodify",
  7658  		auxType:        auxSymOff,
  7659  		argLen:         3,
  7660  		clobberFlags:   true,
  7661  		faultOnNilArg0: true,
  7662  		symEffect:      SymRead | SymWrite,
  7663  		asm:            x86.ABTCL,
  7664  		reg: regInfo{
  7665  			inputs: []inputInfo{
  7666  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7667  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7668  			},
  7669  		},
  7670  	},
  7671  	{
  7672  		name:           "BTSQmodify",
  7673  		auxType:        auxSymOff,
  7674  		argLen:         3,
  7675  		clobberFlags:   true,
  7676  		faultOnNilArg0: true,
  7677  		symEffect:      SymRead | SymWrite,
  7678  		asm:            x86.ABTSQ,
  7679  		reg: regInfo{
  7680  			inputs: []inputInfo{
  7681  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7682  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7683  			},
  7684  		},
  7685  	},
  7686  	{
  7687  		name:           "BTSLmodify",
  7688  		auxType:        auxSymOff,
  7689  		argLen:         3,
  7690  		clobberFlags:   true,
  7691  		faultOnNilArg0: true,
  7692  		symEffect:      SymRead | SymWrite,
  7693  		asm:            x86.ABTSL,
  7694  		reg: regInfo{
  7695  			inputs: []inputInfo{
  7696  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7697  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7698  			},
  7699  		},
  7700  	},
  7701  	{
  7702  		name:           "BTRQmodify",
  7703  		auxType:        auxSymOff,
  7704  		argLen:         3,
  7705  		clobberFlags:   true,
  7706  		faultOnNilArg0: true,
  7707  		symEffect:      SymRead | SymWrite,
  7708  		asm:            x86.ABTRQ,
  7709  		reg: regInfo{
  7710  			inputs: []inputInfo{
  7711  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7712  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7713  			},
  7714  		},
  7715  	},
  7716  	{
  7717  		name:           "BTRLmodify",
  7718  		auxType:        auxSymOff,
  7719  		argLen:         3,
  7720  		clobberFlags:   true,
  7721  		faultOnNilArg0: true,
  7722  		symEffect:      SymRead | SymWrite,
  7723  		asm:            x86.ABTRL,
  7724  		reg: regInfo{
  7725  			inputs: []inputInfo{
  7726  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7727  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7728  			},
  7729  		},
  7730  	},
  7731  	{
  7732  		name:           "BTCQconstmodify",
  7733  		auxType:        auxSymValAndOff,
  7734  		argLen:         2,
  7735  		clobberFlags:   true,
  7736  		faultOnNilArg0: true,
  7737  		symEffect:      SymRead | SymWrite,
  7738  		asm:            x86.ABTCQ,
  7739  		reg: regInfo{
  7740  			inputs: []inputInfo{
  7741  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7742  			},
  7743  		},
  7744  	},
  7745  	{
  7746  		name:           "BTCLconstmodify",
  7747  		auxType:        auxSymValAndOff,
  7748  		argLen:         2,
  7749  		clobberFlags:   true,
  7750  		faultOnNilArg0: true,
  7751  		symEffect:      SymRead | SymWrite,
  7752  		asm:            x86.ABTCL,
  7753  		reg: regInfo{
  7754  			inputs: []inputInfo{
  7755  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7756  			},
  7757  		},
  7758  	},
  7759  	{
  7760  		name:           "BTSQconstmodify",
  7761  		auxType:        auxSymValAndOff,
  7762  		argLen:         2,
  7763  		clobberFlags:   true,
  7764  		faultOnNilArg0: true,
  7765  		symEffect:      SymRead | SymWrite,
  7766  		asm:            x86.ABTSQ,
  7767  		reg: regInfo{
  7768  			inputs: []inputInfo{
  7769  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7770  			},
  7771  		},
  7772  	},
  7773  	{
  7774  		name:           "BTSLconstmodify",
  7775  		auxType:        auxSymValAndOff,
  7776  		argLen:         2,
  7777  		clobberFlags:   true,
  7778  		faultOnNilArg0: true,
  7779  		symEffect:      SymRead | SymWrite,
  7780  		asm:            x86.ABTSL,
  7781  		reg: regInfo{
  7782  			inputs: []inputInfo{
  7783  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7784  			},
  7785  		},
  7786  	},
  7787  	{
  7788  		name:           "BTRQconstmodify",
  7789  		auxType:        auxSymValAndOff,
  7790  		argLen:         2,
  7791  		clobberFlags:   true,
  7792  		faultOnNilArg0: true,
  7793  		symEffect:      SymRead | SymWrite,
  7794  		asm:            x86.ABTRQ,
  7795  		reg: regInfo{
  7796  			inputs: []inputInfo{
  7797  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7798  			},
  7799  		},
  7800  	},
  7801  	{
  7802  		name:           "BTRLconstmodify",
  7803  		auxType:        auxSymValAndOff,
  7804  		argLen:         2,
  7805  		clobberFlags:   true,
  7806  		faultOnNilArg0: true,
  7807  		symEffect:      SymRead | SymWrite,
  7808  		asm:            x86.ABTRL,
  7809  		reg: regInfo{
  7810  			inputs: []inputInfo{
  7811  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  7812  			},
  7813  		},
  7814  	},
  7815  	{
  7816  		name:        "TESTQ",
  7817  		argLen:      2,
  7818  		commutative: true,
  7819  		asm:         x86.ATESTQ,
  7820  		reg: regInfo{
  7821  			inputs: []inputInfo{
  7822  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7823  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7824  			},
  7825  		},
  7826  	},
  7827  	{
  7828  		name:        "TESTL",
  7829  		argLen:      2,
  7830  		commutative: true,
  7831  		asm:         x86.ATESTL,
  7832  		reg: regInfo{
  7833  			inputs: []inputInfo{
  7834  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7835  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7836  			},
  7837  		},
  7838  	},
  7839  	{
  7840  		name:        "TESTW",
  7841  		argLen:      2,
  7842  		commutative: true,
  7843  		asm:         x86.ATESTW,
  7844  		reg: regInfo{
  7845  			inputs: []inputInfo{
  7846  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7847  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7848  			},
  7849  		},
  7850  	},
  7851  	{
  7852  		name:        "TESTB",
  7853  		argLen:      2,
  7854  		commutative: true,
  7855  		asm:         x86.ATESTB,
  7856  		reg: regInfo{
  7857  			inputs: []inputInfo{
  7858  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7859  				{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7860  			},
  7861  		},
  7862  	},
  7863  	{
  7864  		name:    "TESTQconst",
  7865  		auxType: auxInt32,
  7866  		argLen:  1,
  7867  		asm:     x86.ATESTQ,
  7868  		reg: regInfo{
  7869  			inputs: []inputInfo{
  7870  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7871  			},
  7872  		},
  7873  	},
  7874  	{
  7875  		name:    "TESTLconst",
  7876  		auxType: auxInt32,
  7877  		argLen:  1,
  7878  		asm:     x86.ATESTL,
  7879  		reg: regInfo{
  7880  			inputs: []inputInfo{
  7881  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7882  			},
  7883  		},
  7884  	},
  7885  	{
  7886  		name:    "TESTWconst",
  7887  		auxType: auxInt16,
  7888  		argLen:  1,
  7889  		asm:     x86.ATESTW,
  7890  		reg: regInfo{
  7891  			inputs: []inputInfo{
  7892  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7893  			},
  7894  		},
  7895  	},
  7896  	{
  7897  		name:    "TESTBconst",
  7898  		auxType: auxInt8,
  7899  		argLen:  1,
  7900  		asm:     x86.ATESTB,
  7901  		reg: regInfo{
  7902  			inputs: []inputInfo{
  7903  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7904  			},
  7905  		},
  7906  	},
  7907  	{
  7908  		name:         "SHLQ",
  7909  		argLen:       2,
  7910  		resultInArg0: true,
  7911  		clobberFlags: true,
  7912  		asm:          x86.ASHLQ,
  7913  		reg: regInfo{
  7914  			inputs: []inputInfo{
  7915  				{1, 2},     // CX
  7916  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7917  			},
  7918  			outputs: []outputInfo{
  7919  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7920  			},
  7921  		},
  7922  	},
  7923  	{
  7924  		name:         "SHLL",
  7925  		argLen:       2,
  7926  		resultInArg0: true,
  7927  		clobberFlags: true,
  7928  		asm:          x86.ASHLL,
  7929  		reg: regInfo{
  7930  			inputs: []inputInfo{
  7931  				{1, 2},     // CX
  7932  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7933  			},
  7934  			outputs: []outputInfo{
  7935  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7936  			},
  7937  		},
  7938  	},
  7939  	{
  7940  		name:         "SHLQconst",
  7941  		auxType:      auxInt8,
  7942  		argLen:       1,
  7943  		resultInArg0: true,
  7944  		clobberFlags: true,
  7945  		asm:          x86.ASHLQ,
  7946  		reg: regInfo{
  7947  			inputs: []inputInfo{
  7948  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7949  			},
  7950  			outputs: []outputInfo{
  7951  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7952  			},
  7953  		},
  7954  	},
  7955  	{
  7956  		name:         "SHLLconst",
  7957  		auxType:      auxInt8,
  7958  		argLen:       1,
  7959  		resultInArg0: true,
  7960  		clobberFlags: true,
  7961  		asm:          x86.ASHLL,
  7962  		reg: regInfo{
  7963  			inputs: []inputInfo{
  7964  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7965  			},
  7966  			outputs: []outputInfo{
  7967  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7968  			},
  7969  		},
  7970  	},
  7971  	{
  7972  		name:         "SHRQ",
  7973  		argLen:       2,
  7974  		resultInArg0: true,
  7975  		clobberFlags: true,
  7976  		asm:          x86.ASHRQ,
  7977  		reg: regInfo{
  7978  			inputs: []inputInfo{
  7979  				{1, 2},     // CX
  7980  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7981  			},
  7982  			outputs: []outputInfo{
  7983  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7984  			},
  7985  		},
  7986  	},
  7987  	{
  7988  		name:         "SHRL",
  7989  		argLen:       2,
  7990  		resultInArg0: true,
  7991  		clobberFlags: true,
  7992  		asm:          x86.ASHRL,
  7993  		reg: regInfo{
  7994  			inputs: []inputInfo{
  7995  				{1, 2},     // CX
  7996  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  7997  			},
  7998  			outputs: []outputInfo{
  7999  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8000  			},
  8001  		},
  8002  	},
  8003  	{
  8004  		name:         "SHRW",
  8005  		argLen:       2,
  8006  		resultInArg0: true,
  8007  		clobberFlags: true,
  8008  		asm:          x86.ASHRW,
  8009  		reg: regInfo{
  8010  			inputs: []inputInfo{
  8011  				{1, 2},     // CX
  8012  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8013  			},
  8014  			outputs: []outputInfo{
  8015  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8016  			},
  8017  		},
  8018  	},
  8019  	{
  8020  		name:         "SHRB",
  8021  		argLen:       2,
  8022  		resultInArg0: true,
  8023  		clobberFlags: true,
  8024  		asm:          x86.ASHRB,
  8025  		reg: regInfo{
  8026  			inputs: []inputInfo{
  8027  				{1, 2},     // CX
  8028  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8029  			},
  8030  			outputs: []outputInfo{
  8031  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8032  			},
  8033  		},
  8034  	},
  8035  	{
  8036  		name:         "SHRQconst",
  8037  		auxType:      auxInt8,
  8038  		argLen:       1,
  8039  		resultInArg0: true,
  8040  		clobberFlags: true,
  8041  		asm:          x86.ASHRQ,
  8042  		reg: regInfo{
  8043  			inputs: []inputInfo{
  8044  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8045  			},
  8046  			outputs: []outputInfo{
  8047  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8048  			},
  8049  		},
  8050  	},
  8051  	{
  8052  		name:         "SHRLconst",
  8053  		auxType:      auxInt8,
  8054  		argLen:       1,
  8055  		resultInArg0: true,
  8056  		clobberFlags: true,
  8057  		asm:          x86.ASHRL,
  8058  		reg: regInfo{
  8059  			inputs: []inputInfo{
  8060  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8061  			},
  8062  			outputs: []outputInfo{
  8063  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8064  			},
  8065  		},
  8066  	},
  8067  	{
  8068  		name:         "SHRWconst",
  8069  		auxType:      auxInt8,
  8070  		argLen:       1,
  8071  		resultInArg0: true,
  8072  		clobberFlags: true,
  8073  		asm:          x86.ASHRW,
  8074  		reg: regInfo{
  8075  			inputs: []inputInfo{
  8076  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8077  			},
  8078  			outputs: []outputInfo{
  8079  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8080  			},
  8081  		},
  8082  	},
  8083  	{
  8084  		name:         "SHRBconst",
  8085  		auxType:      auxInt8,
  8086  		argLen:       1,
  8087  		resultInArg0: true,
  8088  		clobberFlags: true,
  8089  		asm:          x86.ASHRB,
  8090  		reg: regInfo{
  8091  			inputs: []inputInfo{
  8092  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8093  			},
  8094  			outputs: []outputInfo{
  8095  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8096  			},
  8097  		},
  8098  	},
  8099  	{
  8100  		name:         "SARQ",
  8101  		argLen:       2,
  8102  		resultInArg0: true,
  8103  		clobberFlags: true,
  8104  		asm:          x86.ASARQ,
  8105  		reg: regInfo{
  8106  			inputs: []inputInfo{
  8107  				{1, 2},     // CX
  8108  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8109  			},
  8110  			outputs: []outputInfo{
  8111  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8112  			},
  8113  		},
  8114  	},
  8115  	{
  8116  		name:         "SARL",
  8117  		argLen:       2,
  8118  		resultInArg0: true,
  8119  		clobberFlags: true,
  8120  		asm:          x86.ASARL,
  8121  		reg: regInfo{
  8122  			inputs: []inputInfo{
  8123  				{1, 2},     // CX
  8124  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8125  			},
  8126  			outputs: []outputInfo{
  8127  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8128  			},
  8129  		},
  8130  	},
  8131  	{
  8132  		name:         "SARW",
  8133  		argLen:       2,
  8134  		resultInArg0: true,
  8135  		clobberFlags: true,
  8136  		asm:          x86.ASARW,
  8137  		reg: regInfo{
  8138  			inputs: []inputInfo{
  8139  				{1, 2},     // CX
  8140  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8141  			},
  8142  			outputs: []outputInfo{
  8143  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8144  			},
  8145  		},
  8146  	},
  8147  	{
  8148  		name:         "SARB",
  8149  		argLen:       2,
  8150  		resultInArg0: true,
  8151  		clobberFlags: true,
  8152  		asm:          x86.ASARB,
  8153  		reg: regInfo{
  8154  			inputs: []inputInfo{
  8155  				{1, 2},     // CX
  8156  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8157  			},
  8158  			outputs: []outputInfo{
  8159  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8160  			},
  8161  		},
  8162  	},
  8163  	{
  8164  		name:         "SARQconst",
  8165  		auxType:      auxInt8,
  8166  		argLen:       1,
  8167  		resultInArg0: true,
  8168  		clobberFlags: true,
  8169  		asm:          x86.ASARQ,
  8170  		reg: regInfo{
  8171  			inputs: []inputInfo{
  8172  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8173  			},
  8174  			outputs: []outputInfo{
  8175  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8176  			},
  8177  		},
  8178  	},
  8179  	{
  8180  		name:         "SARLconst",
  8181  		auxType:      auxInt8,
  8182  		argLen:       1,
  8183  		resultInArg0: true,
  8184  		clobberFlags: true,
  8185  		asm:          x86.ASARL,
  8186  		reg: regInfo{
  8187  			inputs: []inputInfo{
  8188  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8189  			},
  8190  			outputs: []outputInfo{
  8191  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8192  			},
  8193  		},
  8194  	},
  8195  	{
  8196  		name:         "SARWconst",
  8197  		auxType:      auxInt8,
  8198  		argLen:       1,
  8199  		resultInArg0: true,
  8200  		clobberFlags: true,
  8201  		asm:          x86.ASARW,
  8202  		reg: regInfo{
  8203  			inputs: []inputInfo{
  8204  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8205  			},
  8206  			outputs: []outputInfo{
  8207  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8208  			},
  8209  		},
  8210  	},
  8211  	{
  8212  		name:         "SARBconst",
  8213  		auxType:      auxInt8,
  8214  		argLen:       1,
  8215  		resultInArg0: true,
  8216  		clobberFlags: true,
  8217  		asm:          x86.ASARB,
  8218  		reg: regInfo{
  8219  			inputs: []inputInfo{
  8220  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8221  			},
  8222  			outputs: []outputInfo{
  8223  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8224  			},
  8225  		},
  8226  	},
  8227  	{
  8228  		name:         "ROLQ",
  8229  		argLen:       2,
  8230  		resultInArg0: true,
  8231  		clobberFlags: true,
  8232  		asm:          x86.AROLQ,
  8233  		reg: regInfo{
  8234  			inputs: []inputInfo{
  8235  				{1, 2},     // CX
  8236  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8237  			},
  8238  			outputs: []outputInfo{
  8239  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8240  			},
  8241  		},
  8242  	},
  8243  	{
  8244  		name:         "ROLL",
  8245  		argLen:       2,
  8246  		resultInArg0: true,
  8247  		clobberFlags: true,
  8248  		asm:          x86.AROLL,
  8249  		reg: regInfo{
  8250  			inputs: []inputInfo{
  8251  				{1, 2},     // CX
  8252  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8253  			},
  8254  			outputs: []outputInfo{
  8255  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8256  			},
  8257  		},
  8258  	},
  8259  	{
  8260  		name:         "ROLW",
  8261  		argLen:       2,
  8262  		resultInArg0: true,
  8263  		clobberFlags: true,
  8264  		asm:          x86.AROLW,
  8265  		reg: regInfo{
  8266  			inputs: []inputInfo{
  8267  				{1, 2},     // CX
  8268  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8269  			},
  8270  			outputs: []outputInfo{
  8271  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8272  			},
  8273  		},
  8274  	},
  8275  	{
  8276  		name:         "ROLB",
  8277  		argLen:       2,
  8278  		resultInArg0: true,
  8279  		clobberFlags: true,
  8280  		asm:          x86.AROLB,
  8281  		reg: regInfo{
  8282  			inputs: []inputInfo{
  8283  				{1, 2},     // CX
  8284  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8285  			},
  8286  			outputs: []outputInfo{
  8287  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8288  			},
  8289  		},
  8290  	},
  8291  	{
  8292  		name:         "RORQ",
  8293  		argLen:       2,
  8294  		resultInArg0: true,
  8295  		clobberFlags: true,
  8296  		asm:          x86.ARORQ,
  8297  		reg: regInfo{
  8298  			inputs: []inputInfo{
  8299  				{1, 2},     // CX
  8300  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8301  			},
  8302  			outputs: []outputInfo{
  8303  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8304  			},
  8305  		},
  8306  	},
  8307  	{
  8308  		name:         "RORL",
  8309  		argLen:       2,
  8310  		resultInArg0: true,
  8311  		clobberFlags: true,
  8312  		asm:          x86.ARORL,
  8313  		reg: regInfo{
  8314  			inputs: []inputInfo{
  8315  				{1, 2},     // CX
  8316  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8317  			},
  8318  			outputs: []outputInfo{
  8319  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8320  			},
  8321  		},
  8322  	},
  8323  	{
  8324  		name:         "RORW",
  8325  		argLen:       2,
  8326  		resultInArg0: true,
  8327  		clobberFlags: true,
  8328  		asm:          x86.ARORW,
  8329  		reg: regInfo{
  8330  			inputs: []inputInfo{
  8331  				{1, 2},     // CX
  8332  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8333  			},
  8334  			outputs: []outputInfo{
  8335  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8336  			},
  8337  		},
  8338  	},
  8339  	{
  8340  		name:         "RORB",
  8341  		argLen:       2,
  8342  		resultInArg0: true,
  8343  		clobberFlags: true,
  8344  		asm:          x86.ARORB,
  8345  		reg: regInfo{
  8346  			inputs: []inputInfo{
  8347  				{1, 2},     // CX
  8348  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8349  			},
  8350  			outputs: []outputInfo{
  8351  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8352  			},
  8353  		},
  8354  	},
  8355  	{
  8356  		name:         "ROLQconst",
  8357  		auxType:      auxInt8,
  8358  		argLen:       1,
  8359  		resultInArg0: true,
  8360  		clobberFlags: true,
  8361  		asm:          x86.AROLQ,
  8362  		reg: regInfo{
  8363  			inputs: []inputInfo{
  8364  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8365  			},
  8366  			outputs: []outputInfo{
  8367  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8368  			},
  8369  		},
  8370  	},
  8371  	{
  8372  		name:         "ROLLconst",
  8373  		auxType:      auxInt8,
  8374  		argLen:       1,
  8375  		resultInArg0: true,
  8376  		clobberFlags: true,
  8377  		asm:          x86.AROLL,
  8378  		reg: regInfo{
  8379  			inputs: []inputInfo{
  8380  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8381  			},
  8382  			outputs: []outputInfo{
  8383  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8384  			},
  8385  		},
  8386  	},
  8387  	{
  8388  		name:         "ROLWconst",
  8389  		auxType:      auxInt8,
  8390  		argLen:       1,
  8391  		resultInArg0: true,
  8392  		clobberFlags: true,
  8393  		asm:          x86.AROLW,
  8394  		reg: regInfo{
  8395  			inputs: []inputInfo{
  8396  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8397  			},
  8398  			outputs: []outputInfo{
  8399  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8400  			},
  8401  		},
  8402  	},
  8403  	{
  8404  		name:         "ROLBconst",
  8405  		auxType:      auxInt8,
  8406  		argLen:       1,
  8407  		resultInArg0: true,
  8408  		clobberFlags: true,
  8409  		asm:          x86.AROLB,
  8410  		reg: regInfo{
  8411  			inputs: []inputInfo{
  8412  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8413  			},
  8414  			outputs: []outputInfo{
  8415  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8416  			},
  8417  		},
  8418  	},
  8419  	{
  8420  		name:           "ADDLload",
  8421  		auxType:        auxSymOff,
  8422  		argLen:         3,
  8423  		resultInArg0:   true,
  8424  		clobberFlags:   true,
  8425  		faultOnNilArg1: true,
  8426  		symEffect:      SymRead,
  8427  		asm:            x86.AADDL,
  8428  		reg: regInfo{
  8429  			inputs: []inputInfo{
  8430  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8431  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8432  			},
  8433  			outputs: []outputInfo{
  8434  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8435  			},
  8436  		},
  8437  	},
  8438  	{
  8439  		name:           "ADDQload",
  8440  		auxType:        auxSymOff,
  8441  		argLen:         3,
  8442  		resultInArg0:   true,
  8443  		clobberFlags:   true,
  8444  		faultOnNilArg1: true,
  8445  		symEffect:      SymRead,
  8446  		asm:            x86.AADDQ,
  8447  		reg: regInfo{
  8448  			inputs: []inputInfo{
  8449  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8450  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8451  			},
  8452  			outputs: []outputInfo{
  8453  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8454  			},
  8455  		},
  8456  	},
  8457  	{
  8458  		name:           "SUBQload",
  8459  		auxType:        auxSymOff,
  8460  		argLen:         3,
  8461  		resultInArg0:   true,
  8462  		clobberFlags:   true,
  8463  		faultOnNilArg1: true,
  8464  		symEffect:      SymRead,
  8465  		asm:            x86.ASUBQ,
  8466  		reg: regInfo{
  8467  			inputs: []inputInfo{
  8468  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8469  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8470  			},
  8471  			outputs: []outputInfo{
  8472  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8473  			},
  8474  		},
  8475  	},
  8476  	{
  8477  		name:           "SUBLload",
  8478  		auxType:        auxSymOff,
  8479  		argLen:         3,
  8480  		resultInArg0:   true,
  8481  		clobberFlags:   true,
  8482  		faultOnNilArg1: true,
  8483  		symEffect:      SymRead,
  8484  		asm:            x86.ASUBL,
  8485  		reg: regInfo{
  8486  			inputs: []inputInfo{
  8487  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8488  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8489  			},
  8490  			outputs: []outputInfo{
  8491  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8492  			},
  8493  		},
  8494  	},
  8495  	{
  8496  		name:           "ANDLload",
  8497  		auxType:        auxSymOff,
  8498  		argLen:         3,
  8499  		resultInArg0:   true,
  8500  		clobberFlags:   true,
  8501  		faultOnNilArg1: true,
  8502  		symEffect:      SymRead,
  8503  		asm:            x86.AANDL,
  8504  		reg: regInfo{
  8505  			inputs: []inputInfo{
  8506  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8507  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8508  			},
  8509  			outputs: []outputInfo{
  8510  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8511  			},
  8512  		},
  8513  	},
  8514  	{
  8515  		name:           "ANDQload",
  8516  		auxType:        auxSymOff,
  8517  		argLen:         3,
  8518  		resultInArg0:   true,
  8519  		clobberFlags:   true,
  8520  		faultOnNilArg1: true,
  8521  		symEffect:      SymRead,
  8522  		asm:            x86.AANDQ,
  8523  		reg: regInfo{
  8524  			inputs: []inputInfo{
  8525  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8526  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8527  			},
  8528  			outputs: []outputInfo{
  8529  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8530  			},
  8531  		},
  8532  	},
  8533  	{
  8534  		name:           "ORQload",
  8535  		auxType:        auxSymOff,
  8536  		argLen:         3,
  8537  		resultInArg0:   true,
  8538  		clobberFlags:   true,
  8539  		faultOnNilArg1: true,
  8540  		symEffect:      SymRead,
  8541  		asm:            x86.AORQ,
  8542  		reg: regInfo{
  8543  			inputs: []inputInfo{
  8544  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8545  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8546  			},
  8547  			outputs: []outputInfo{
  8548  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8549  			},
  8550  		},
  8551  	},
  8552  	{
  8553  		name:           "ORLload",
  8554  		auxType:        auxSymOff,
  8555  		argLen:         3,
  8556  		resultInArg0:   true,
  8557  		clobberFlags:   true,
  8558  		faultOnNilArg1: true,
  8559  		symEffect:      SymRead,
  8560  		asm:            x86.AORL,
  8561  		reg: regInfo{
  8562  			inputs: []inputInfo{
  8563  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8564  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8565  			},
  8566  			outputs: []outputInfo{
  8567  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8568  			},
  8569  		},
  8570  	},
  8571  	{
  8572  		name:           "XORQload",
  8573  		auxType:        auxSymOff,
  8574  		argLen:         3,
  8575  		resultInArg0:   true,
  8576  		clobberFlags:   true,
  8577  		faultOnNilArg1: true,
  8578  		symEffect:      SymRead,
  8579  		asm:            x86.AXORQ,
  8580  		reg: regInfo{
  8581  			inputs: []inputInfo{
  8582  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8583  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8584  			},
  8585  			outputs: []outputInfo{
  8586  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8587  			},
  8588  		},
  8589  	},
  8590  	{
  8591  		name:           "XORLload",
  8592  		auxType:        auxSymOff,
  8593  		argLen:         3,
  8594  		resultInArg0:   true,
  8595  		clobberFlags:   true,
  8596  		faultOnNilArg1: true,
  8597  		symEffect:      SymRead,
  8598  		asm:            x86.AXORL,
  8599  		reg: regInfo{
  8600  			inputs: []inputInfo{
  8601  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8602  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8603  			},
  8604  			outputs: []outputInfo{
  8605  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8606  			},
  8607  		},
  8608  	},
  8609  	{
  8610  		name:           "ADDQmodify",
  8611  		auxType:        auxSymOff,
  8612  		argLen:         3,
  8613  		clobberFlags:   true,
  8614  		faultOnNilArg0: true,
  8615  		symEffect:      SymRead | SymWrite,
  8616  		asm:            x86.AADDQ,
  8617  		reg: regInfo{
  8618  			inputs: []inputInfo{
  8619  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8620  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8621  			},
  8622  		},
  8623  	},
  8624  	{
  8625  		name:           "SUBQmodify",
  8626  		auxType:        auxSymOff,
  8627  		argLen:         3,
  8628  		clobberFlags:   true,
  8629  		faultOnNilArg0: true,
  8630  		symEffect:      SymRead | SymWrite,
  8631  		asm:            x86.ASUBQ,
  8632  		reg: regInfo{
  8633  			inputs: []inputInfo{
  8634  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8635  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8636  			},
  8637  		},
  8638  	},
  8639  	{
  8640  		name:           "ANDQmodify",
  8641  		auxType:        auxSymOff,
  8642  		argLen:         3,
  8643  		clobberFlags:   true,
  8644  		faultOnNilArg0: true,
  8645  		symEffect:      SymRead | SymWrite,
  8646  		asm:            x86.AANDQ,
  8647  		reg: regInfo{
  8648  			inputs: []inputInfo{
  8649  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8650  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8651  			},
  8652  		},
  8653  	},
  8654  	{
  8655  		name:           "ORQmodify",
  8656  		auxType:        auxSymOff,
  8657  		argLen:         3,
  8658  		clobberFlags:   true,
  8659  		faultOnNilArg0: true,
  8660  		symEffect:      SymRead | SymWrite,
  8661  		asm:            x86.AORQ,
  8662  		reg: regInfo{
  8663  			inputs: []inputInfo{
  8664  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8665  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8666  			},
  8667  		},
  8668  	},
  8669  	{
  8670  		name:           "XORQmodify",
  8671  		auxType:        auxSymOff,
  8672  		argLen:         3,
  8673  		clobberFlags:   true,
  8674  		faultOnNilArg0: true,
  8675  		symEffect:      SymRead | SymWrite,
  8676  		asm:            x86.AXORQ,
  8677  		reg: regInfo{
  8678  			inputs: []inputInfo{
  8679  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8680  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8681  			},
  8682  		},
  8683  	},
  8684  	{
  8685  		name:           "ADDLmodify",
  8686  		auxType:        auxSymOff,
  8687  		argLen:         3,
  8688  		clobberFlags:   true,
  8689  		faultOnNilArg0: true,
  8690  		symEffect:      SymRead | SymWrite,
  8691  		asm:            x86.AADDL,
  8692  		reg: regInfo{
  8693  			inputs: []inputInfo{
  8694  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8695  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8696  			},
  8697  		},
  8698  	},
  8699  	{
  8700  		name:           "SUBLmodify",
  8701  		auxType:        auxSymOff,
  8702  		argLen:         3,
  8703  		clobberFlags:   true,
  8704  		faultOnNilArg0: true,
  8705  		symEffect:      SymRead | SymWrite,
  8706  		asm:            x86.ASUBL,
  8707  		reg: regInfo{
  8708  			inputs: []inputInfo{
  8709  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8710  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8711  			},
  8712  		},
  8713  	},
  8714  	{
  8715  		name:           "ANDLmodify",
  8716  		auxType:        auxSymOff,
  8717  		argLen:         3,
  8718  		clobberFlags:   true,
  8719  		faultOnNilArg0: true,
  8720  		symEffect:      SymRead | SymWrite,
  8721  		asm:            x86.AANDL,
  8722  		reg: regInfo{
  8723  			inputs: []inputInfo{
  8724  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8725  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8726  			},
  8727  		},
  8728  	},
  8729  	{
  8730  		name:           "ORLmodify",
  8731  		auxType:        auxSymOff,
  8732  		argLen:         3,
  8733  		clobberFlags:   true,
  8734  		faultOnNilArg0: true,
  8735  		symEffect:      SymRead | SymWrite,
  8736  		asm:            x86.AORL,
  8737  		reg: regInfo{
  8738  			inputs: []inputInfo{
  8739  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8740  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8741  			},
  8742  		},
  8743  	},
  8744  	{
  8745  		name:           "XORLmodify",
  8746  		auxType:        auxSymOff,
  8747  		argLen:         3,
  8748  		clobberFlags:   true,
  8749  		faultOnNilArg0: true,
  8750  		symEffect:      SymRead | SymWrite,
  8751  		asm:            x86.AXORL,
  8752  		reg: regInfo{
  8753  			inputs: []inputInfo{
  8754  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8755  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  8756  			},
  8757  		},
  8758  	},
  8759  	{
  8760  		name:         "NEGQ",
  8761  		argLen:       1,
  8762  		resultInArg0: true,
  8763  		clobberFlags: true,
  8764  		asm:          x86.ANEGQ,
  8765  		reg: regInfo{
  8766  			inputs: []inputInfo{
  8767  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8768  			},
  8769  			outputs: []outputInfo{
  8770  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8771  			},
  8772  		},
  8773  	},
  8774  	{
  8775  		name:         "NEGL",
  8776  		argLen:       1,
  8777  		resultInArg0: true,
  8778  		clobberFlags: true,
  8779  		asm:          x86.ANEGL,
  8780  		reg: regInfo{
  8781  			inputs: []inputInfo{
  8782  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8783  			},
  8784  			outputs: []outputInfo{
  8785  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8786  			},
  8787  		},
  8788  	},
  8789  	{
  8790  		name:         "NOTQ",
  8791  		argLen:       1,
  8792  		resultInArg0: true,
  8793  		clobberFlags: true,
  8794  		asm:          x86.ANOTQ,
  8795  		reg: regInfo{
  8796  			inputs: []inputInfo{
  8797  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8798  			},
  8799  			outputs: []outputInfo{
  8800  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8801  			},
  8802  		},
  8803  	},
  8804  	{
  8805  		name:         "NOTL",
  8806  		argLen:       1,
  8807  		resultInArg0: true,
  8808  		clobberFlags: true,
  8809  		asm:          x86.ANOTL,
  8810  		reg: regInfo{
  8811  			inputs: []inputInfo{
  8812  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8813  			},
  8814  			outputs: []outputInfo{
  8815  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8816  			},
  8817  		},
  8818  	},
  8819  	{
  8820  		name:   "BSFQ",
  8821  		argLen: 1,
  8822  		asm:    x86.ABSFQ,
  8823  		reg: regInfo{
  8824  			inputs: []inputInfo{
  8825  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8826  			},
  8827  			outputs: []outputInfo{
  8828  				{1, 0},
  8829  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8830  			},
  8831  		},
  8832  	},
  8833  	{
  8834  		name:         "BSFL",
  8835  		argLen:       1,
  8836  		clobberFlags: true,
  8837  		asm:          x86.ABSFL,
  8838  		reg: regInfo{
  8839  			inputs: []inputInfo{
  8840  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8841  			},
  8842  			outputs: []outputInfo{
  8843  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8844  			},
  8845  		},
  8846  	},
  8847  	{
  8848  		name:   "BSRQ",
  8849  		argLen: 1,
  8850  		asm:    x86.ABSRQ,
  8851  		reg: regInfo{
  8852  			inputs: []inputInfo{
  8853  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8854  			},
  8855  			outputs: []outputInfo{
  8856  				{1, 0},
  8857  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8858  			},
  8859  		},
  8860  	},
  8861  	{
  8862  		name:         "BSRL",
  8863  		argLen:       1,
  8864  		clobberFlags: true,
  8865  		asm:          x86.ABSRL,
  8866  		reg: regInfo{
  8867  			inputs: []inputInfo{
  8868  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8869  			},
  8870  			outputs: []outputInfo{
  8871  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8872  			},
  8873  		},
  8874  	},
  8875  	{
  8876  		name:         "CMOVQEQ",
  8877  		argLen:       3,
  8878  		resultInArg0: true,
  8879  		asm:          x86.ACMOVQEQ,
  8880  		reg: regInfo{
  8881  			inputs: []inputInfo{
  8882  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8883  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8884  			},
  8885  			outputs: []outputInfo{
  8886  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8887  			},
  8888  		},
  8889  	},
  8890  	{
  8891  		name:         "CMOVQNE",
  8892  		argLen:       3,
  8893  		resultInArg0: true,
  8894  		asm:          x86.ACMOVQNE,
  8895  		reg: regInfo{
  8896  			inputs: []inputInfo{
  8897  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8898  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8899  			},
  8900  			outputs: []outputInfo{
  8901  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8902  			},
  8903  		},
  8904  	},
  8905  	{
  8906  		name:         "CMOVQLT",
  8907  		argLen:       3,
  8908  		resultInArg0: true,
  8909  		asm:          x86.ACMOVQLT,
  8910  		reg: regInfo{
  8911  			inputs: []inputInfo{
  8912  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8913  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8914  			},
  8915  			outputs: []outputInfo{
  8916  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8917  			},
  8918  		},
  8919  	},
  8920  	{
  8921  		name:         "CMOVQGT",
  8922  		argLen:       3,
  8923  		resultInArg0: true,
  8924  		asm:          x86.ACMOVQGT,
  8925  		reg: regInfo{
  8926  			inputs: []inputInfo{
  8927  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8928  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8929  			},
  8930  			outputs: []outputInfo{
  8931  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8932  			},
  8933  		},
  8934  	},
  8935  	{
  8936  		name:         "CMOVQLE",
  8937  		argLen:       3,
  8938  		resultInArg0: true,
  8939  		asm:          x86.ACMOVQLE,
  8940  		reg: regInfo{
  8941  			inputs: []inputInfo{
  8942  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8943  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8944  			},
  8945  			outputs: []outputInfo{
  8946  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8947  			},
  8948  		},
  8949  	},
  8950  	{
  8951  		name:         "CMOVQGE",
  8952  		argLen:       3,
  8953  		resultInArg0: true,
  8954  		asm:          x86.ACMOVQGE,
  8955  		reg: regInfo{
  8956  			inputs: []inputInfo{
  8957  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8958  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8959  			},
  8960  			outputs: []outputInfo{
  8961  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8962  			},
  8963  		},
  8964  	},
  8965  	{
  8966  		name:         "CMOVQLS",
  8967  		argLen:       3,
  8968  		resultInArg0: true,
  8969  		asm:          x86.ACMOVQLS,
  8970  		reg: regInfo{
  8971  			inputs: []inputInfo{
  8972  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8973  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8974  			},
  8975  			outputs: []outputInfo{
  8976  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8977  			},
  8978  		},
  8979  	},
  8980  	{
  8981  		name:         "CMOVQHI",
  8982  		argLen:       3,
  8983  		resultInArg0: true,
  8984  		asm:          x86.ACMOVQHI,
  8985  		reg: regInfo{
  8986  			inputs: []inputInfo{
  8987  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8988  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8989  			},
  8990  			outputs: []outputInfo{
  8991  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  8992  			},
  8993  		},
  8994  	},
  8995  	{
  8996  		name:         "CMOVQCC",
  8997  		argLen:       3,
  8998  		resultInArg0: true,
  8999  		asm:          x86.ACMOVQCC,
  9000  		reg: regInfo{
  9001  			inputs: []inputInfo{
  9002  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9003  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9004  			},
  9005  			outputs: []outputInfo{
  9006  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9007  			},
  9008  		},
  9009  	},
  9010  	{
  9011  		name:         "CMOVQCS",
  9012  		argLen:       3,
  9013  		resultInArg0: true,
  9014  		asm:          x86.ACMOVQCS,
  9015  		reg: regInfo{
  9016  			inputs: []inputInfo{
  9017  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9018  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9019  			},
  9020  			outputs: []outputInfo{
  9021  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9022  			},
  9023  		},
  9024  	},
  9025  	{
  9026  		name:         "CMOVLEQ",
  9027  		argLen:       3,
  9028  		resultInArg0: true,
  9029  		asm:          x86.ACMOVLEQ,
  9030  		reg: regInfo{
  9031  			inputs: []inputInfo{
  9032  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9033  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9034  			},
  9035  			outputs: []outputInfo{
  9036  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9037  			},
  9038  		},
  9039  	},
  9040  	{
  9041  		name:         "CMOVLNE",
  9042  		argLen:       3,
  9043  		resultInArg0: true,
  9044  		asm:          x86.ACMOVLNE,
  9045  		reg: regInfo{
  9046  			inputs: []inputInfo{
  9047  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9048  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9049  			},
  9050  			outputs: []outputInfo{
  9051  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9052  			},
  9053  		},
  9054  	},
  9055  	{
  9056  		name:         "CMOVLLT",
  9057  		argLen:       3,
  9058  		resultInArg0: true,
  9059  		asm:          x86.ACMOVLLT,
  9060  		reg: regInfo{
  9061  			inputs: []inputInfo{
  9062  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9063  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9064  			},
  9065  			outputs: []outputInfo{
  9066  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9067  			},
  9068  		},
  9069  	},
  9070  	{
  9071  		name:         "CMOVLGT",
  9072  		argLen:       3,
  9073  		resultInArg0: true,
  9074  		asm:          x86.ACMOVLGT,
  9075  		reg: regInfo{
  9076  			inputs: []inputInfo{
  9077  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9078  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9079  			},
  9080  			outputs: []outputInfo{
  9081  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9082  			},
  9083  		},
  9084  	},
  9085  	{
  9086  		name:         "CMOVLLE",
  9087  		argLen:       3,
  9088  		resultInArg0: true,
  9089  		asm:          x86.ACMOVLLE,
  9090  		reg: regInfo{
  9091  			inputs: []inputInfo{
  9092  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9093  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9094  			},
  9095  			outputs: []outputInfo{
  9096  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9097  			},
  9098  		},
  9099  	},
  9100  	{
  9101  		name:         "CMOVLGE",
  9102  		argLen:       3,
  9103  		resultInArg0: true,
  9104  		asm:          x86.ACMOVLGE,
  9105  		reg: regInfo{
  9106  			inputs: []inputInfo{
  9107  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9108  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9109  			},
  9110  			outputs: []outputInfo{
  9111  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9112  			},
  9113  		},
  9114  	},
  9115  	{
  9116  		name:         "CMOVLLS",
  9117  		argLen:       3,
  9118  		resultInArg0: true,
  9119  		asm:          x86.ACMOVLLS,
  9120  		reg: regInfo{
  9121  			inputs: []inputInfo{
  9122  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9123  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9124  			},
  9125  			outputs: []outputInfo{
  9126  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9127  			},
  9128  		},
  9129  	},
  9130  	{
  9131  		name:         "CMOVLHI",
  9132  		argLen:       3,
  9133  		resultInArg0: true,
  9134  		asm:          x86.ACMOVLHI,
  9135  		reg: regInfo{
  9136  			inputs: []inputInfo{
  9137  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9138  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9139  			},
  9140  			outputs: []outputInfo{
  9141  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9142  			},
  9143  		},
  9144  	},
  9145  	{
  9146  		name:         "CMOVLCC",
  9147  		argLen:       3,
  9148  		resultInArg0: true,
  9149  		asm:          x86.ACMOVLCC,
  9150  		reg: regInfo{
  9151  			inputs: []inputInfo{
  9152  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9153  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9154  			},
  9155  			outputs: []outputInfo{
  9156  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9157  			},
  9158  		},
  9159  	},
  9160  	{
  9161  		name:         "CMOVLCS",
  9162  		argLen:       3,
  9163  		resultInArg0: true,
  9164  		asm:          x86.ACMOVLCS,
  9165  		reg: regInfo{
  9166  			inputs: []inputInfo{
  9167  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9168  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9169  			},
  9170  			outputs: []outputInfo{
  9171  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9172  			},
  9173  		},
  9174  	},
  9175  	{
  9176  		name:         "CMOVWEQ",
  9177  		argLen:       3,
  9178  		resultInArg0: true,
  9179  		asm:          x86.ACMOVWEQ,
  9180  		reg: regInfo{
  9181  			inputs: []inputInfo{
  9182  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9183  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9184  			},
  9185  			outputs: []outputInfo{
  9186  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9187  			},
  9188  		},
  9189  	},
  9190  	{
  9191  		name:         "CMOVWNE",
  9192  		argLen:       3,
  9193  		resultInArg0: true,
  9194  		asm:          x86.ACMOVWNE,
  9195  		reg: regInfo{
  9196  			inputs: []inputInfo{
  9197  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9198  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9199  			},
  9200  			outputs: []outputInfo{
  9201  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9202  			},
  9203  		},
  9204  	},
  9205  	{
  9206  		name:         "CMOVWLT",
  9207  		argLen:       3,
  9208  		resultInArg0: true,
  9209  		asm:          x86.ACMOVWLT,
  9210  		reg: regInfo{
  9211  			inputs: []inputInfo{
  9212  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9213  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9214  			},
  9215  			outputs: []outputInfo{
  9216  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9217  			},
  9218  		},
  9219  	},
  9220  	{
  9221  		name:         "CMOVWGT",
  9222  		argLen:       3,
  9223  		resultInArg0: true,
  9224  		asm:          x86.ACMOVWGT,
  9225  		reg: regInfo{
  9226  			inputs: []inputInfo{
  9227  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9228  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9229  			},
  9230  			outputs: []outputInfo{
  9231  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9232  			},
  9233  		},
  9234  	},
  9235  	{
  9236  		name:         "CMOVWLE",
  9237  		argLen:       3,
  9238  		resultInArg0: true,
  9239  		asm:          x86.ACMOVWLE,
  9240  		reg: regInfo{
  9241  			inputs: []inputInfo{
  9242  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9243  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9244  			},
  9245  			outputs: []outputInfo{
  9246  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9247  			},
  9248  		},
  9249  	},
  9250  	{
  9251  		name:         "CMOVWGE",
  9252  		argLen:       3,
  9253  		resultInArg0: true,
  9254  		asm:          x86.ACMOVWGE,
  9255  		reg: regInfo{
  9256  			inputs: []inputInfo{
  9257  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9258  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9259  			},
  9260  			outputs: []outputInfo{
  9261  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9262  			},
  9263  		},
  9264  	},
  9265  	{
  9266  		name:         "CMOVWLS",
  9267  		argLen:       3,
  9268  		resultInArg0: true,
  9269  		asm:          x86.ACMOVWLS,
  9270  		reg: regInfo{
  9271  			inputs: []inputInfo{
  9272  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9273  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9274  			},
  9275  			outputs: []outputInfo{
  9276  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9277  			},
  9278  		},
  9279  	},
  9280  	{
  9281  		name:         "CMOVWHI",
  9282  		argLen:       3,
  9283  		resultInArg0: true,
  9284  		asm:          x86.ACMOVWHI,
  9285  		reg: regInfo{
  9286  			inputs: []inputInfo{
  9287  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9288  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9289  			},
  9290  			outputs: []outputInfo{
  9291  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9292  			},
  9293  		},
  9294  	},
  9295  	{
  9296  		name:         "CMOVWCC",
  9297  		argLen:       3,
  9298  		resultInArg0: true,
  9299  		asm:          x86.ACMOVWCC,
  9300  		reg: regInfo{
  9301  			inputs: []inputInfo{
  9302  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9303  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9304  			},
  9305  			outputs: []outputInfo{
  9306  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9307  			},
  9308  		},
  9309  	},
  9310  	{
  9311  		name:         "CMOVWCS",
  9312  		argLen:       3,
  9313  		resultInArg0: true,
  9314  		asm:          x86.ACMOVWCS,
  9315  		reg: regInfo{
  9316  			inputs: []inputInfo{
  9317  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9318  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9319  			},
  9320  			outputs: []outputInfo{
  9321  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9322  			},
  9323  		},
  9324  	},
  9325  	{
  9326  		name:         "CMOVQEQF",
  9327  		argLen:       3,
  9328  		resultInArg0: true,
  9329  		asm:          x86.ACMOVQNE,
  9330  		reg: regInfo{
  9331  			inputs: []inputInfo{
  9332  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9333  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9334  			},
  9335  			clobbers: 1, // AX
  9336  			outputs: []outputInfo{
  9337  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9338  			},
  9339  		},
  9340  	},
  9341  	{
  9342  		name:         "CMOVQNEF",
  9343  		argLen:       3,
  9344  		resultInArg0: true,
  9345  		asm:          x86.ACMOVQNE,
  9346  		reg: regInfo{
  9347  			inputs: []inputInfo{
  9348  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9349  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9350  			},
  9351  			outputs: []outputInfo{
  9352  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9353  			},
  9354  		},
  9355  	},
  9356  	{
  9357  		name:         "CMOVQGTF",
  9358  		argLen:       3,
  9359  		resultInArg0: true,
  9360  		asm:          x86.ACMOVQHI,
  9361  		reg: regInfo{
  9362  			inputs: []inputInfo{
  9363  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9364  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9365  			},
  9366  			outputs: []outputInfo{
  9367  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9368  			},
  9369  		},
  9370  	},
  9371  	{
  9372  		name:         "CMOVQGEF",
  9373  		argLen:       3,
  9374  		resultInArg0: true,
  9375  		asm:          x86.ACMOVQCC,
  9376  		reg: regInfo{
  9377  			inputs: []inputInfo{
  9378  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9379  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9380  			},
  9381  			outputs: []outputInfo{
  9382  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9383  			},
  9384  		},
  9385  	},
  9386  	{
  9387  		name:         "CMOVLEQF",
  9388  		argLen:       3,
  9389  		resultInArg0: true,
  9390  		asm:          x86.ACMOVLNE,
  9391  		reg: regInfo{
  9392  			inputs: []inputInfo{
  9393  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9394  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9395  			},
  9396  			clobbers: 1, // AX
  9397  			outputs: []outputInfo{
  9398  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9399  			},
  9400  		},
  9401  	},
  9402  	{
  9403  		name:         "CMOVLNEF",
  9404  		argLen:       3,
  9405  		resultInArg0: true,
  9406  		asm:          x86.ACMOVLNE,
  9407  		reg: regInfo{
  9408  			inputs: []inputInfo{
  9409  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9410  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9411  			},
  9412  			outputs: []outputInfo{
  9413  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9414  			},
  9415  		},
  9416  	},
  9417  	{
  9418  		name:         "CMOVLGTF",
  9419  		argLen:       3,
  9420  		resultInArg0: true,
  9421  		asm:          x86.ACMOVLHI,
  9422  		reg: regInfo{
  9423  			inputs: []inputInfo{
  9424  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9425  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9426  			},
  9427  			outputs: []outputInfo{
  9428  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9429  			},
  9430  		},
  9431  	},
  9432  	{
  9433  		name:         "CMOVLGEF",
  9434  		argLen:       3,
  9435  		resultInArg0: true,
  9436  		asm:          x86.ACMOVLCC,
  9437  		reg: regInfo{
  9438  			inputs: []inputInfo{
  9439  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9440  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9441  			},
  9442  			outputs: []outputInfo{
  9443  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9444  			},
  9445  		},
  9446  	},
  9447  	{
  9448  		name:         "CMOVWEQF",
  9449  		argLen:       3,
  9450  		resultInArg0: true,
  9451  		asm:          x86.ACMOVWNE,
  9452  		reg: regInfo{
  9453  			inputs: []inputInfo{
  9454  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9455  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9456  			},
  9457  			clobbers: 1, // AX
  9458  			outputs: []outputInfo{
  9459  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9460  			},
  9461  		},
  9462  	},
  9463  	{
  9464  		name:         "CMOVWNEF",
  9465  		argLen:       3,
  9466  		resultInArg0: true,
  9467  		asm:          x86.ACMOVWNE,
  9468  		reg: regInfo{
  9469  			inputs: []inputInfo{
  9470  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9471  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9472  			},
  9473  			outputs: []outputInfo{
  9474  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9475  			},
  9476  		},
  9477  	},
  9478  	{
  9479  		name:         "CMOVWGTF",
  9480  		argLen:       3,
  9481  		resultInArg0: true,
  9482  		asm:          x86.ACMOVWHI,
  9483  		reg: regInfo{
  9484  			inputs: []inputInfo{
  9485  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9486  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9487  			},
  9488  			outputs: []outputInfo{
  9489  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9490  			},
  9491  		},
  9492  	},
  9493  	{
  9494  		name:         "CMOVWGEF",
  9495  		argLen:       3,
  9496  		resultInArg0: true,
  9497  		asm:          x86.ACMOVWCC,
  9498  		reg: regInfo{
  9499  			inputs: []inputInfo{
  9500  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9501  				{1, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9502  			},
  9503  			outputs: []outputInfo{
  9504  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9505  			},
  9506  		},
  9507  	},
  9508  	{
  9509  		name:         "BSWAPQ",
  9510  		argLen:       1,
  9511  		resultInArg0: true,
  9512  		clobberFlags: true,
  9513  		asm:          x86.ABSWAPQ,
  9514  		reg: regInfo{
  9515  			inputs: []inputInfo{
  9516  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9517  			},
  9518  			outputs: []outputInfo{
  9519  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9520  			},
  9521  		},
  9522  	},
  9523  	{
  9524  		name:         "BSWAPL",
  9525  		argLen:       1,
  9526  		resultInArg0: true,
  9527  		clobberFlags: true,
  9528  		asm:          x86.ABSWAPL,
  9529  		reg: regInfo{
  9530  			inputs: []inputInfo{
  9531  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9532  			},
  9533  			outputs: []outputInfo{
  9534  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9535  			},
  9536  		},
  9537  	},
  9538  	{
  9539  		name:         "POPCNTQ",
  9540  		argLen:       1,
  9541  		clobberFlags: true,
  9542  		asm:          x86.APOPCNTQ,
  9543  		reg: regInfo{
  9544  			inputs: []inputInfo{
  9545  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9546  			},
  9547  			outputs: []outputInfo{
  9548  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9549  			},
  9550  		},
  9551  	},
  9552  	{
  9553  		name:         "POPCNTL",
  9554  		argLen:       1,
  9555  		clobberFlags: true,
  9556  		asm:          x86.APOPCNTL,
  9557  		reg: regInfo{
  9558  			inputs: []inputInfo{
  9559  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9560  			},
  9561  			outputs: []outputInfo{
  9562  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9563  			},
  9564  		},
  9565  	},
  9566  	{
  9567  		name:   "SQRTSD",
  9568  		argLen: 1,
  9569  		asm:    x86.ASQRTSD,
  9570  		reg: regInfo{
  9571  			inputs: []inputInfo{
  9572  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  9573  			},
  9574  			outputs: []outputInfo{
  9575  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  9576  			},
  9577  		},
  9578  	},
  9579  	{
  9580  		name:    "ROUNDSD",
  9581  		auxType: auxInt8,
  9582  		argLen:  1,
  9583  		asm:     x86.AROUNDSD,
  9584  		reg: regInfo{
  9585  			inputs: []inputInfo{
  9586  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  9587  			},
  9588  			outputs: []outputInfo{
  9589  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
  9590  			},
  9591  		},
  9592  	},
  9593  	{
  9594  		name:   "SBBQcarrymask",
  9595  		argLen: 1,
  9596  		asm:    x86.ASBBQ,
  9597  		reg: regInfo{
  9598  			outputs: []outputInfo{
  9599  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9600  			},
  9601  		},
  9602  	},
  9603  	{
  9604  		name:   "SBBLcarrymask",
  9605  		argLen: 1,
  9606  		asm:    x86.ASBBL,
  9607  		reg: regInfo{
  9608  			outputs: []outputInfo{
  9609  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9610  			},
  9611  		},
  9612  	},
  9613  	{
  9614  		name:   "SETEQ",
  9615  		argLen: 1,
  9616  		asm:    x86.ASETEQ,
  9617  		reg: regInfo{
  9618  			outputs: []outputInfo{
  9619  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9620  			},
  9621  		},
  9622  	},
  9623  	{
  9624  		name:   "SETNE",
  9625  		argLen: 1,
  9626  		asm:    x86.ASETNE,
  9627  		reg: regInfo{
  9628  			outputs: []outputInfo{
  9629  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9630  			},
  9631  		},
  9632  	},
  9633  	{
  9634  		name:   "SETL",
  9635  		argLen: 1,
  9636  		asm:    x86.ASETLT,
  9637  		reg: regInfo{
  9638  			outputs: []outputInfo{
  9639  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9640  			},
  9641  		},
  9642  	},
  9643  	{
  9644  		name:   "SETLE",
  9645  		argLen: 1,
  9646  		asm:    x86.ASETLE,
  9647  		reg: regInfo{
  9648  			outputs: []outputInfo{
  9649  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9650  			},
  9651  		},
  9652  	},
  9653  	{
  9654  		name:   "SETG",
  9655  		argLen: 1,
  9656  		asm:    x86.ASETGT,
  9657  		reg: regInfo{
  9658  			outputs: []outputInfo{
  9659  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9660  			},
  9661  		},
  9662  	},
  9663  	{
  9664  		name:   "SETGE",
  9665  		argLen: 1,
  9666  		asm:    x86.ASETGE,
  9667  		reg: regInfo{
  9668  			outputs: []outputInfo{
  9669  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9670  			},
  9671  		},
  9672  	},
  9673  	{
  9674  		name:   "SETB",
  9675  		argLen: 1,
  9676  		asm:    x86.ASETCS,
  9677  		reg: regInfo{
  9678  			outputs: []outputInfo{
  9679  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9680  			},
  9681  		},
  9682  	},
  9683  	{
  9684  		name:   "SETBE",
  9685  		argLen: 1,
  9686  		asm:    x86.ASETLS,
  9687  		reg: regInfo{
  9688  			outputs: []outputInfo{
  9689  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9690  			},
  9691  		},
  9692  	},
  9693  	{
  9694  		name:   "SETA",
  9695  		argLen: 1,
  9696  		asm:    x86.ASETHI,
  9697  		reg: regInfo{
  9698  			outputs: []outputInfo{
  9699  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9700  			},
  9701  		},
  9702  	},
  9703  	{
  9704  		name:   "SETAE",
  9705  		argLen: 1,
  9706  		asm:    x86.ASETCC,
  9707  		reg: regInfo{
  9708  			outputs: []outputInfo{
  9709  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9710  			},
  9711  		},
  9712  	},
  9713  	{
  9714  		name:   "SETO",
  9715  		argLen: 1,
  9716  		asm:    x86.ASETOS,
  9717  		reg: regInfo{
  9718  			outputs: []outputInfo{
  9719  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9720  			},
  9721  		},
  9722  	},
  9723  	{
  9724  		name:           "SETEQstore",
  9725  		auxType:        auxSymOff,
  9726  		argLen:         3,
  9727  		faultOnNilArg0: true,
  9728  		symEffect:      SymWrite,
  9729  		asm:            x86.ASETEQ,
  9730  		reg: regInfo{
  9731  			inputs: []inputInfo{
  9732  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9733  			},
  9734  		},
  9735  	},
  9736  	{
  9737  		name:           "SETNEstore",
  9738  		auxType:        auxSymOff,
  9739  		argLen:         3,
  9740  		faultOnNilArg0: true,
  9741  		symEffect:      SymWrite,
  9742  		asm:            x86.ASETNE,
  9743  		reg: regInfo{
  9744  			inputs: []inputInfo{
  9745  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9746  			},
  9747  		},
  9748  	},
  9749  	{
  9750  		name:           "SETLstore",
  9751  		auxType:        auxSymOff,
  9752  		argLen:         3,
  9753  		faultOnNilArg0: true,
  9754  		symEffect:      SymWrite,
  9755  		asm:            x86.ASETLT,
  9756  		reg: regInfo{
  9757  			inputs: []inputInfo{
  9758  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9759  			},
  9760  		},
  9761  	},
  9762  	{
  9763  		name:           "SETLEstore",
  9764  		auxType:        auxSymOff,
  9765  		argLen:         3,
  9766  		faultOnNilArg0: true,
  9767  		symEffect:      SymWrite,
  9768  		asm:            x86.ASETLE,
  9769  		reg: regInfo{
  9770  			inputs: []inputInfo{
  9771  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9772  			},
  9773  		},
  9774  	},
  9775  	{
  9776  		name:           "SETGstore",
  9777  		auxType:        auxSymOff,
  9778  		argLen:         3,
  9779  		faultOnNilArg0: true,
  9780  		symEffect:      SymWrite,
  9781  		asm:            x86.ASETGT,
  9782  		reg: regInfo{
  9783  			inputs: []inputInfo{
  9784  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9785  			},
  9786  		},
  9787  	},
  9788  	{
  9789  		name:           "SETGEstore",
  9790  		auxType:        auxSymOff,
  9791  		argLen:         3,
  9792  		faultOnNilArg0: true,
  9793  		symEffect:      SymWrite,
  9794  		asm:            x86.ASETGE,
  9795  		reg: regInfo{
  9796  			inputs: []inputInfo{
  9797  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9798  			},
  9799  		},
  9800  	},
  9801  	{
  9802  		name:           "SETBstore",
  9803  		auxType:        auxSymOff,
  9804  		argLen:         3,
  9805  		faultOnNilArg0: true,
  9806  		symEffect:      SymWrite,
  9807  		asm:            x86.ASETCS,
  9808  		reg: regInfo{
  9809  			inputs: []inputInfo{
  9810  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9811  			},
  9812  		},
  9813  	},
  9814  	{
  9815  		name:           "SETBEstore",
  9816  		auxType:        auxSymOff,
  9817  		argLen:         3,
  9818  		faultOnNilArg0: true,
  9819  		symEffect:      SymWrite,
  9820  		asm:            x86.ASETLS,
  9821  		reg: regInfo{
  9822  			inputs: []inputInfo{
  9823  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9824  			},
  9825  		},
  9826  	},
  9827  	{
  9828  		name:           "SETAstore",
  9829  		auxType:        auxSymOff,
  9830  		argLen:         3,
  9831  		faultOnNilArg0: true,
  9832  		symEffect:      SymWrite,
  9833  		asm:            x86.ASETHI,
  9834  		reg: regInfo{
  9835  			inputs: []inputInfo{
  9836  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9837  			},
  9838  		},
  9839  	},
  9840  	{
  9841  		name:           "SETAEstore",
  9842  		auxType:        auxSymOff,
  9843  		argLen:         3,
  9844  		faultOnNilArg0: true,
  9845  		symEffect:      SymWrite,
  9846  		asm:            x86.ASETCC,
  9847  		reg: regInfo{
  9848  			inputs: []inputInfo{
  9849  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
  9850  			},
  9851  		},
  9852  	},
  9853  	{
  9854  		name:         "SETEQF",
  9855  		argLen:       1,
  9856  		clobberFlags: true,
  9857  		asm:          x86.ASETEQ,
  9858  		reg: regInfo{
  9859  			clobbers: 1, // AX
  9860  			outputs: []outputInfo{
  9861  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9862  			},
  9863  		},
  9864  	},
  9865  	{
  9866  		name:         "SETNEF",
  9867  		argLen:       1,
  9868  		clobberFlags: true,
  9869  		asm:          x86.ASETNE,
  9870  		reg: regInfo{
  9871  			clobbers: 1, // AX
  9872  			outputs: []outputInfo{
  9873  				{0, 65518}, // CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9874  			},
  9875  		},
  9876  	},
  9877  	{
  9878  		name:   "SETORD",
  9879  		argLen: 1,
  9880  		asm:    x86.ASETPC,
  9881  		reg: regInfo{
  9882  			outputs: []outputInfo{
  9883  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9884  			},
  9885  		},
  9886  	},
  9887  	{
  9888  		name:   "SETNAN",
  9889  		argLen: 1,
  9890  		asm:    x86.ASETPS,
  9891  		reg: regInfo{
  9892  			outputs: []outputInfo{
  9893  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9894  			},
  9895  		},
  9896  	},
  9897  	{
  9898  		name:   "SETGF",
  9899  		argLen: 1,
  9900  		asm:    x86.ASETHI,
  9901  		reg: regInfo{
  9902  			outputs: []outputInfo{
  9903  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9904  			},
  9905  		},
  9906  	},
  9907  	{
  9908  		name:   "SETGEF",
  9909  		argLen: 1,
  9910  		asm:    x86.ASETCC,
  9911  		reg: regInfo{
  9912  			outputs: []outputInfo{
  9913  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9914  			},
  9915  		},
  9916  	},
  9917  	{
  9918  		name:   "MOVBQSX",
  9919  		argLen: 1,
  9920  		asm:    x86.AMOVBQSX,
  9921  		reg: regInfo{
  9922  			inputs: []inputInfo{
  9923  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9924  			},
  9925  			outputs: []outputInfo{
  9926  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9927  			},
  9928  		},
  9929  	},
  9930  	{
  9931  		name:   "MOVBQZX",
  9932  		argLen: 1,
  9933  		asm:    x86.AMOVBLZX,
  9934  		reg: regInfo{
  9935  			inputs: []inputInfo{
  9936  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9937  			},
  9938  			outputs: []outputInfo{
  9939  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9940  			},
  9941  		},
  9942  	},
  9943  	{
  9944  		name:   "MOVWQSX",
  9945  		argLen: 1,
  9946  		asm:    x86.AMOVWQSX,
  9947  		reg: regInfo{
  9948  			inputs: []inputInfo{
  9949  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9950  			},
  9951  			outputs: []outputInfo{
  9952  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9953  			},
  9954  		},
  9955  	},
  9956  	{
  9957  		name:   "MOVWQZX",
  9958  		argLen: 1,
  9959  		asm:    x86.AMOVWLZX,
  9960  		reg: regInfo{
  9961  			inputs: []inputInfo{
  9962  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9963  			},
  9964  			outputs: []outputInfo{
  9965  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9966  			},
  9967  		},
  9968  	},
  9969  	{
  9970  		name:   "MOVLQSX",
  9971  		argLen: 1,
  9972  		asm:    x86.AMOVLQSX,
  9973  		reg: regInfo{
  9974  			inputs: []inputInfo{
  9975  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9976  			},
  9977  			outputs: []outputInfo{
  9978  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9979  			},
  9980  		},
  9981  	},
  9982  	{
  9983  		name:   "MOVLQZX",
  9984  		argLen: 1,
  9985  		asm:    x86.AMOVL,
  9986  		reg: regInfo{
  9987  			inputs: []inputInfo{
  9988  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9989  			},
  9990  			outputs: []outputInfo{
  9991  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
  9992  			},
  9993  		},
  9994  	},
  9995  	{
  9996  		name:              "MOVLconst",
  9997  		auxType:           auxInt32,
  9998  		argLen:            0,
  9999  		rematerializeable: true,
 10000  		asm:               x86.AMOVL,
 10001  		reg: regInfo{
 10002  			outputs: []outputInfo{
 10003  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10004  			},
 10005  		},
 10006  	},
 10007  	{
 10008  		name:              "MOVQconst",
 10009  		auxType:           auxInt64,
 10010  		argLen:            0,
 10011  		rematerializeable: true,
 10012  		asm:               x86.AMOVQ,
 10013  		reg: regInfo{
 10014  			outputs: []outputInfo{
 10015  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10016  			},
 10017  		},
 10018  	},
 10019  	{
 10020  		name:   "CVTTSD2SL",
 10021  		argLen: 1,
 10022  		asm:    x86.ACVTTSD2SL,
 10023  		reg: regInfo{
 10024  			inputs: []inputInfo{
 10025  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10026  			},
 10027  			outputs: []outputInfo{
 10028  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10029  			},
 10030  		},
 10031  	},
 10032  	{
 10033  		name:   "CVTTSD2SQ",
 10034  		argLen: 1,
 10035  		asm:    x86.ACVTTSD2SQ,
 10036  		reg: regInfo{
 10037  			inputs: []inputInfo{
 10038  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10039  			},
 10040  			outputs: []outputInfo{
 10041  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10042  			},
 10043  		},
 10044  	},
 10045  	{
 10046  		name:   "CVTTSS2SL",
 10047  		argLen: 1,
 10048  		asm:    x86.ACVTTSS2SL,
 10049  		reg: regInfo{
 10050  			inputs: []inputInfo{
 10051  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10052  			},
 10053  			outputs: []outputInfo{
 10054  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10055  			},
 10056  		},
 10057  	},
 10058  	{
 10059  		name:   "CVTTSS2SQ",
 10060  		argLen: 1,
 10061  		asm:    x86.ACVTTSS2SQ,
 10062  		reg: regInfo{
 10063  			inputs: []inputInfo{
 10064  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10065  			},
 10066  			outputs: []outputInfo{
 10067  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10068  			},
 10069  		},
 10070  	},
 10071  	{
 10072  		name:   "CVTSL2SS",
 10073  		argLen: 1,
 10074  		asm:    x86.ACVTSL2SS,
 10075  		reg: regInfo{
 10076  			inputs: []inputInfo{
 10077  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10078  			},
 10079  			outputs: []outputInfo{
 10080  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10081  			},
 10082  		},
 10083  	},
 10084  	{
 10085  		name:   "CVTSL2SD",
 10086  		argLen: 1,
 10087  		asm:    x86.ACVTSL2SD,
 10088  		reg: regInfo{
 10089  			inputs: []inputInfo{
 10090  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10091  			},
 10092  			outputs: []outputInfo{
 10093  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10094  			},
 10095  		},
 10096  	},
 10097  	{
 10098  		name:   "CVTSQ2SS",
 10099  		argLen: 1,
 10100  		asm:    x86.ACVTSQ2SS,
 10101  		reg: regInfo{
 10102  			inputs: []inputInfo{
 10103  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10104  			},
 10105  			outputs: []outputInfo{
 10106  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10107  			},
 10108  		},
 10109  	},
 10110  	{
 10111  		name:   "CVTSQ2SD",
 10112  		argLen: 1,
 10113  		asm:    x86.ACVTSQ2SD,
 10114  		reg: regInfo{
 10115  			inputs: []inputInfo{
 10116  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10117  			},
 10118  			outputs: []outputInfo{
 10119  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10120  			},
 10121  		},
 10122  	},
 10123  	{
 10124  		name:   "CVTSD2SS",
 10125  		argLen: 1,
 10126  		asm:    x86.ACVTSD2SS,
 10127  		reg: regInfo{
 10128  			inputs: []inputInfo{
 10129  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10130  			},
 10131  			outputs: []outputInfo{
 10132  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10133  			},
 10134  		},
 10135  	},
 10136  	{
 10137  		name:   "CVTSS2SD",
 10138  		argLen: 1,
 10139  		asm:    x86.ACVTSS2SD,
 10140  		reg: regInfo{
 10141  			inputs: []inputInfo{
 10142  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10143  			},
 10144  			outputs: []outputInfo{
 10145  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10146  			},
 10147  		},
 10148  	},
 10149  	{
 10150  		name:   "MOVQi2f",
 10151  		argLen: 1,
 10152  		reg: regInfo{
 10153  			inputs: []inputInfo{
 10154  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10155  			},
 10156  			outputs: []outputInfo{
 10157  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10158  			},
 10159  		},
 10160  	},
 10161  	{
 10162  		name:   "MOVQf2i",
 10163  		argLen: 1,
 10164  		reg: regInfo{
 10165  			inputs: []inputInfo{
 10166  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10167  			},
 10168  			outputs: []outputInfo{
 10169  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10170  			},
 10171  		},
 10172  	},
 10173  	{
 10174  		name:   "MOVLi2f",
 10175  		argLen: 1,
 10176  		reg: regInfo{
 10177  			inputs: []inputInfo{
 10178  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10179  			},
 10180  			outputs: []outputInfo{
 10181  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10182  			},
 10183  		},
 10184  	},
 10185  	{
 10186  		name:   "MOVLf2i",
 10187  		argLen: 1,
 10188  		reg: regInfo{
 10189  			inputs: []inputInfo{
 10190  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10191  			},
 10192  			outputs: []outputInfo{
 10193  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10194  			},
 10195  		},
 10196  	},
 10197  	{
 10198  		name:         "PXOR",
 10199  		argLen:       2,
 10200  		commutative:  true,
 10201  		resultInArg0: true,
 10202  		asm:          x86.APXOR,
 10203  		reg: regInfo{
 10204  			inputs: []inputInfo{
 10205  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10206  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10207  			},
 10208  			outputs: []outputInfo{
 10209  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10210  			},
 10211  		},
 10212  	},
 10213  	{
 10214  		name:              "LEAQ",
 10215  		auxType:           auxSymOff,
 10216  		argLen:            1,
 10217  		rematerializeable: true,
 10218  		symEffect:         SymAddr,
 10219  		asm:               x86.ALEAQ,
 10220  		reg: regInfo{
 10221  			inputs: []inputInfo{
 10222  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10223  			},
 10224  			outputs: []outputInfo{
 10225  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10226  			},
 10227  		},
 10228  	},
 10229  	{
 10230  		name:              "LEAL",
 10231  		auxType:           auxSymOff,
 10232  		argLen:            1,
 10233  		rematerializeable: true,
 10234  		symEffect:         SymAddr,
 10235  		asm:               x86.ALEAL,
 10236  		reg: regInfo{
 10237  			inputs: []inputInfo{
 10238  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10239  			},
 10240  			outputs: []outputInfo{
 10241  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10242  			},
 10243  		},
 10244  	},
 10245  	{
 10246  		name:              "LEAW",
 10247  		auxType:           auxSymOff,
 10248  		argLen:            1,
 10249  		rematerializeable: true,
 10250  		symEffect:         SymAddr,
 10251  		asm:               x86.ALEAW,
 10252  		reg: regInfo{
 10253  			inputs: []inputInfo{
 10254  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10255  			},
 10256  			outputs: []outputInfo{
 10257  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10258  			},
 10259  		},
 10260  	},
 10261  	{
 10262  		name:        "LEAQ1",
 10263  		auxType:     auxSymOff,
 10264  		argLen:      2,
 10265  		commutative: true,
 10266  		symEffect:   SymAddr,
 10267  		asm:         x86.ALEAQ,
 10268  		scale:       1,
 10269  		reg: regInfo{
 10270  			inputs: []inputInfo{
 10271  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10272  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10273  			},
 10274  			outputs: []outputInfo{
 10275  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10276  			},
 10277  		},
 10278  	},
 10279  	{
 10280  		name:        "LEAL1",
 10281  		auxType:     auxSymOff,
 10282  		argLen:      2,
 10283  		commutative: true,
 10284  		symEffect:   SymAddr,
 10285  		asm:         x86.ALEAL,
 10286  		scale:       1,
 10287  		reg: regInfo{
 10288  			inputs: []inputInfo{
 10289  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10290  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10291  			},
 10292  			outputs: []outputInfo{
 10293  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10294  			},
 10295  		},
 10296  	},
 10297  	{
 10298  		name:        "LEAW1",
 10299  		auxType:     auxSymOff,
 10300  		argLen:      2,
 10301  		commutative: true,
 10302  		symEffect:   SymAddr,
 10303  		asm:         x86.ALEAW,
 10304  		scale:       1,
 10305  		reg: regInfo{
 10306  			inputs: []inputInfo{
 10307  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10308  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10309  			},
 10310  			outputs: []outputInfo{
 10311  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10312  			},
 10313  		},
 10314  	},
 10315  	{
 10316  		name:      "LEAQ2",
 10317  		auxType:   auxSymOff,
 10318  		argLen:    2,
 10319  		symEffect: SymAddr,
 10320  		asm:       x86.ALEAQ,
 10321  		scale:     2,
 10322  		reg: regInfo{
 10323  			inputs: []inputInfo{
 10324  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10325  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10326  			},
 10327  			outputs: []outputInfo{
 10328  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10329  			},
 10330  		},
 10331  	},
 10332  	{
 10333  		name:      "LEAL2",
 10334  		auxType:   auxSymOff,
 10335  		argLen:    2,
 10336  		symEffect: SymAddr,
 10337  		asm:       x86.ALEAL,
 10338  		scale:     2,
 10339  		reg: regInfo{
 10340  			inputs: []inputInfo{
 10341  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10342  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10343  			},
 10344  			outputs: []outputInfo{
 10345  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10346  			},
 10347  		},
 10348  	},
 10349  	{
 10350  		name:      "LEAW2",
 10351  		auxType:   auxSymOff,
 10352  		argLen:    2,
 10353  		symEffect: SymAddr,
 10354  		asm:       x86.ALEAW,
 10355  		scale:     2,
 10356  		reg: regInfo{
 10357  			inputs: []inputInfo{
 10358  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10359  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10360  			},
 10361  			outputs: []outputInfo{
 10362  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10363  			},
 10364  		},
 10365  	},
 10366  	{
 10367  		name:      "LEAQ4",
 10368  		auxType:   auxSymOff,
 10369  		argLen:    2,
 10370  		symEffect: SymAddr,
 10371  		asm:       x86.ALEAQ,
 10372  		scale:     4,
 10373  		reg: regInfo{
 10374  			inputs: []inputInfo{
 10375  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10376  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10377  			},
 10378  			outputs: []outputInfo{
 10379  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10380  			},
 10381  		},
 10382  	},
 10383  	{
 10384  		name:      "LEAL4",
 10385  		auxType:   auxSymOff,
 10386  		argLen:    2,
 10387  		symEffect: SymAddr,
 10388  		asm:       x86.ALEAL,
 10389  		scale:     4,
 10390  		reg: regInfo{
 10391  			inputs: []inputInfo{
 10392  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10393  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10394  			},
 10395  			outputs: []outputInfo{
 10396  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10397  			},
 10398  		},
 10399  	},
 10400  	{
 10401  		name:      "LEAW4",
 10402  		auxType:   auxSymOff,
 10403  		argLen:    2,
 10404  		symEffect: SymAddr,
 10405  		asm:       x86.ALEAW,
 10406  		scale:     4,
 10407  		reg: regInfo{
 10408  			inputs: []inputInfo{
 10409  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10410  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10411  			},
 10412  			outputs: []outputInfo{
 10413  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10414  			},
 10415  		},
 10416  	},
 10417  	{
 10418  		name:      "LEAQ8",
 10419  		auxType:   auxSymOff,
 10420  		argLen:    2,
 10421  		symEffect: SymAddr,
 10422  		asm:       x86.ALEAQ,
 10423  		scale:     8,
 10424  		reg: regInfo{
 10425  			inputs: []inputInfo{
 10426  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10427  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10428  			},
 10429  			outputs: []outputInfo{
 10430  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10431  			},
 10432  		},
 10433  	},
 10434  	{
 10435  		name:      "LEAL8",
 10436  		auxType:   auxSymOff,
 10437  		argLen:    2,
 10438  		symEffect: SymAddr,
 10439  		asm:       x86.ALEAL,
 10440  		scale:     8,
 10441  		reg: regInfo{
 10442  			inputs: []inputInfo{
 10443  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10444  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10445  			},
 10446  			outputs: []outputInfo{
 10447  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10448  			},
 10449  		},
 10450  	},
 10451  	{
 10452  		name:      "LEAW8",
 10453  		auxType:   auxSymOff,
 10454  		argLen:    2,
 10455  		symEffect: SymAddr,
 10456  		asm:       x86.ALEAW,
 10457  		scale:     8,
 10458  		reg: regInfo{
 10459  			inputs: []inputInfo{
 10460  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10461  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10462  			},
 10463  			outputs: []outputInfo{
 10464  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10465  			},
 10466  		},
 10467  	},
 10468  	{
 10469  		name:           "MOVBload",
 10470  		auxType:        auxSymOff,
 10471  		argLen:         2,
 10472  		faultOnNilArg0: true,
 10473  		symEffect:      SymRead,
 10474  		asm:            x86.AMOVBLZX,
 10475  		reg: regInfo{
 10476  			inputs: []inputInfo{
 10477  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10478  			},
 10479  			outputs: []outputInfo{
 10480  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10481  			},
 10482  		},
 10483  	},
 10484  	{
 10485  		name:           "MOVBQSXload",
 10486  		auxType:        auxSymOff,
 10487  		argLen:         2,
 10488  		faultOnNilArg0: true,
 10489  		symEffect:      SymRead,
 10490  		asm:            x86.AMOVBQSX,
 10491  		reg: regInfo{
 10492  			inputs: []inputInfo{
 10493  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10494  			},
 10495  			outputs: []outputInfo{
 10496  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10497  			},
 10498  		},
 10499  	},
 10500  	{
 10501  		name:           "MOVWload",
 10502  		auxType:        auxSymOff,
 10503  		argLen:         2,
 10504  		faultOnNilArg0: true,
 10505  		symEffect:      SymRead,
 10506  		asm:            x86.AMOVWLZX,
 10507  		reg: regInfo{
 10508  			inputs: []inputInfo{
 10509  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10510  			},
 10511  			outputs: []outputInfo{
 10512  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10513  			},
 10514  		},
 10515  	},
 10516  	{
 10517  		name:           "MOVWQSXload",
 10518  		auxType:        auxSymOff,
 10519  		argLen:         2,
 10520  		faultOnNilArg0: true,
 10521  		symEffect:      SymRead,
 10522  		asm:            x86.AMOVWQSX,
 10523  		reg: regInfo{
 10524  			inputs: []inputInfo{
 10525  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10526  			},
 10527  			outputs: []outputInfo{
 10528  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10529  			},
 10530  		},
 10531  	},
 10532  	{
 10533  		name:           "MOVLload",
 10534  		auxType:        auxSymOff,
 10535  		argLen:         2,
 10536  		faultOnNilArg0: true,
 10537  		symEffect:      SymRead,
 10538  		asm:            x86.AMOVL,
 10539  		reg: regInfo{
 10540  			inputs: []inputInfo{
 10541  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10542  			},
 10543  			outputs: []outputInfo{
 10544  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10545  			},
 10546  		},
 10547  	},
 10548  	{
 10549  		name:           "MOVLQSXload",
 10550  		auxType:        auxSymOff,
 10551  		argLen:         2,
 10552  		faultOnNilArg0: true,
 10553  		symEffect:      SymRead,
 10554  		asm:            x86.AMOVLQSX,
 10555  		reg: regInfo{
 10556  			inputs: []inputInfo{
 10557  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10558  			},
 10559  			outputs: []outputInfo{
 10560  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10561  			},
 10562  		},
 10563  	},
 10564  	{
 10565  		name:           "MOVQload",
 10566  		auxType:        auxSymOff,
 10567  		argLen:         2,
 10568  		faultOnNilArg0: true,
 10569  		symEffect:      SymRead,
 10570  		asm:            x86.AMOVQ,
 10571  		reg: regInfo{
 10572  			inputs: []inputInfo{
 10573  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10574  			},
 10575  			outputs: []outputInfo{
 10576  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10577  			},
 10578  		},
 10579  	},
 10580  	{
 10581  		name:           "MOVBstore",
 10582  		auxType:        auxSymOff,
 10583  		argLen:         3,
 10584  		faultOnNilArg0: true,
 10585  		symEffect:      SymWrite,
 10586  		asm:            x86.AMOVB,
 10587  		reg: regInfo{
 10588  			inputs: []inputInfo{
 10589  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10590  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10591  			},
 10592  		},
 10593  	},
 10594  	{
 10595  		name:           "MOVWstore",
 10596  		auxType:        auxSymOff,
 10597  		argLen:         3,
 10598  		faultOnNilArg0: true,
 10599  		symEffect:      SymWrite,
 10600  		asm:            x86.AMOVW,
 10601  		reg: regInfo{
 10602  			inputs: []inputInfo{
 10603  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10604  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10605  			},
 10606  		},
 10607  	},
 10608  	{
 10609  		name:           "MOVLstore",
 10610  		auxType:        auxSymOff,
 10611  		argLen:         3,
 10612  		faultOnNilArg0: true,
 10613  		symEffect:      SymWrite,
 10614  		asm:            x86.AMOVL,
 10615  		reg: regInfo{
 10616  			inputs: []inputInfo{
 10617  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10618  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10619  			},
 10620  		},
 10621  	},
 10622  	{
 10623  		name:           "MOVQstore",
 10624  		auxType:        auxSymOff,
 10625  		argLen:         3,
 10626  		faultOnNilArg0: true,
 10627  		symEffect:      SymWrite,
 10628  		asm:            x86.AMOVQ,
 10629  		reg: regInfo{
 10630  			inputs: []inputInfo{
 10631  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10632  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10633  			},
 10634  		},
 10635  	},
 10636  	{
 10637  		name:           "MOVOload",
 10638  		auxType:        auxSymOff,
 10639  		argLen:         2,
 10640  		faultOnNilArg0: true,
 10641  		symEffect:      SymRead,
 10642  		asm:            x86.AMOVUPS,
 10643  		reg: regInfo{
 10644  			inputs: []inputInfo{
 10645  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10646  			},
 10647  			outputs: []outputInfo{
 10648  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10649  			},
 10650  		},
 10651  	},
 10652  	{
 10653  		name:           "MOVOstore",
 10654  		auxType:        auxSymOff,
 10655  		argLen:         3,
 10656  		faultOnNilArg0: true,
 10657  		symEffect:      SymWrite,
 10658  		asm:            x86.AMOVUPS,
 10659  		reg: regInfo{
 10660  			inputs: []inputInfo{
 10661  				{1, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 10662  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10663  			},
 10664  		},
 10665  	},
 10666  	{
 10667  		name:        "MOVBloadidx1",
 10668  		auxType:     auxSymOff,
 10669  		argLen:      3,
 10670  		commutative: true,
 10671  		symEffect:   SymRead,
 10672  		asm:         x86.AMOVBLZX,
 10673  		scale:       1,
 10674  		reg: regInfo{
 10675  			inputs: []inputInfo{
 10676  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10677  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10678  			},
 10679  			outputs: []outputInfo{
 10680  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10681  			},
 10682  		},
 10683  	},
 10684  	{
 10685  		name:        "MOVWloadidx1",
 10686  		auxType:     auxSymOff,
 10687  		argLen:      3,
 10688  		commutative: true,
 10689  		symEffect:   SymRead,
 10690  		asm:         x86.AMOVWLZX,
 10691  		scale:       1,
 10692  		reg: regInfo{
 10693  			inputs: []inputInfo{
 10694  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10695  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10696  			},
 10697  			outputs: []outputInfo{
 10698  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10699  			},
 10700  		},
 10701  	},
 10702  	{
 10703  		name:      "MOVWloadidx2",
 10704  		auxType:   auxSymOff,
 10705  		argLen:    3,
 10706  		symEffect: SymRead,
 10707  		asm:       x86.AMOVWLZX,
 10708  		scale:     2,
 10709  		reg: regInfo{
 10710  			inputs: []inputInfo{
 10711  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10712  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10713  			},
 10714  			outputs: []outputInfo{
 10715  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10716  			},
 10717  		},
 10718  	},
 10719  	{
 10720  		name:        "MOVLloadidx1",
 10721  		auxType:     auxSymOff,
 10722  		argLen:      3,
 10723  		commutative: true,
 10724  		symEffect:   SymRead,
 10725  		asm:         x86.AMOVL,
 10726  		scale:       1,
 10727  		reg: regInfo{
 10728  			inputs: []inputInfo{
 10729  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10730  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10731  			},
 10732  			outputs: []outputInfo{
 10733  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10734  			},
 10735  		},
 10736  	},
 10737  	{
 10738  		name:      "MOVLloadidx4",
 10739  		auxType:   auxSymOff,
 10740  		argLen:    3,
 10741  		symEffect: SymRead,
 10742  		asm:       x86.AMOVL,
 10743  		scale:     4,
 10744  		reg: regInfo{
 10745  			inputs: []inputInfo{
 10746  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10747  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10748  			},
 10749  			outputs: []outputInfo{
 10750  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10751  			},
 10752  		},
 10753  	},
 10754  	{
 10755  		name:      "MOVLloadidx8",
 10756  		auxType:   auxSymOff,
 10757  		argLen:    3,
 10758  		symEffect: SymRead,
 10759  		asm:       x86.AMOVL,
 10760  		scale:     8,
 10761  		reg: regInfo{
 10762  			inputs: []inputInfo{
 10763  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10764  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10765  			},
 10766  			outputs: []outputInfo{
 10767  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10768  			},
 10769  		},
 10770  	},
 10771  	{
 10772  		name:        "MOVQloadidx1",
 10773  		auxType:     auxSymOff,
 10774  		argLen:      3,
 10775  		commutative: true,
 10776  		symEffect:   SymRead,
 10777  		asm:         x86.AMOVQ,
 10778  		scale:       1,
 10779  		reg: regInfo{
 10780  			inputs: []inputInfo{
 10781  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10782  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10783  			},
 10784  			outputs: []outputInfo{
 10785  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10786  			},
 10787  		},
 10788  	},
 10789  	{
 10790  		name:      "MOVQloadidx8",
 10791  		auxType:   auxSymOff,
 10792  		argLen:    3,
 10793  		symEffect: SymRead,
 10794  		asm:       x86.AMOVQ,
 10795  		scale:     8,
 10796  		reg: regInfo{
 10797  			inputs: []inputInfo{
 10798  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10799  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10800  			},
 10801  			outputs: []outputInfo{
 10802  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10803  			},
 10804  		},
 10805  	},
 10806  	{
 10807  		name:      "MOVBstoreidx1",
 10808  		auxType:   auxSymOff,
 10809  		argLen:    4,
 10810  		symEffect: SymWrite,
 10811  		asm:       x86.AMOVB,
 10812  		scale:     1,
 10813  		reg: regInfo{
 10814  			inputs: []inputInfo{
 10815  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10816  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10817  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10818  			},
 10819  		},
 10820  	},
 10821  	{
 10822  		name:      "MOVWstoreidx1",
 10823  		auxType:   auxSymOff,
 10824  		argLen:    4,
 10825  		symEffect: SymWrite,
 10826  		asm:       x86.AMOVW,
 10827  		scale:     1,
 10828  		reg: regInfo{
 10829  			inputs: []inputInfo{
 10830  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10831  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10832  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10833  			},
 10834  		},
 10835  	},
 10836  	{
 10837  		name:      "MOVWstoreidx2",
 10838  		auxType:   auxSymOff,
 10839  		argLen:    4,
 10840  		symEffect: SymWrite,
 10841  		asm:       x86.AMOVW,
 10842  		scale:     2,
 10843  		reg: regInfo{
 10844  			inputs: []inputInfo{
 10845  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10846  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10847  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10848  			},
 10849  		},
 10850  	},
 10851  	{
 10852  		name:      "MOVLstoreidx1",
 10853  		auxType:   auxSymOff,
 10854  		argLen:    4,
 10855  		symEffect: SymWrite,
 10856  		asm:       x86.AMOVL,
 10857  		scale:     1,
 10858  		reg: regInfo{
 10859  			inputs: []inputInfo{
 10860  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10861  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10862  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10863  			},
 10864  		},
 10865  	},
 10866  	{
 10867  		name:      "MOVLstoreidx4",
 10868  		auxType:   auxSymOff,
 10869  		argLen:    4,
 10870  		symEffect: SymWrite,
 10871  		asm:       x86.AMOVL,
 10872  		scale:     4,
 10873  		reg: regInfo{
 10874  			inputs: []inputInfo{
 10875  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10876  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10877  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10878  			},
 10879  		},
 10880  	},
 10881  	{
 10882  		name:      "MOVLstoreidx8",
 10883  		auxType:   auxSymOff,
 10884  		argLen:    4,
 10885  		symEffect: SymWrite,
 10886  		asm:       x86.AMOVL,
 10887  		scale:     8,
 10888  		reg: regInfo{
 10889  			inputs: []inputInfo{
 10890  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10891  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10892  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10893  			},
 10894  		},
 10895  	},
 10896  	{
 10897  		name:      "MOVQstoreidx1",
 10898  		auxType:   auxSymOff,
 10899  		argLen:    4,
 10900  		symEffect: SymWrite,
 10901  		asm:       x86.AMOVQ,
 10902  		scale:     1,
 10903  		reg: regInfo{
 10904  			inputs: []inputInfo{
 10905  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10906  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10907  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10908  			},
 10909  		},
 10910  	},
 10911  	{
 10912  		name:      "MOVQstoreidx8",
 10913  		auxType:   auxSymOff,
 10914  		argLen:    4,
 10915  		symEffect: SymWrite,
 10916  		asm:       x86.AMOVQ,
 10917  		scale:     8,
 10918  		reg: regInfo{
 10919  			inputs: []inputInfo{
 10920  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10921  				{2, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10922  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10923  			},
 10924  		},
 10925  	},
 10926  	{
 10927  		name:           "MOVBstoreconst",
 10928  		auxType:        auxSymValAndOff,
 10929  		argLen:         2,
 10930  		faultOnNilArg0: true,
 10931  		symEffect:      SymWrite,
 10932  		asm:            x86.AMOVB,
 10933  		reg: regInfo{
 10934  			inputs: []inputInfo{
 10935  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10936  			},
 10937  		},
 10938  	},
 10939  	{
 10940  		name:           "MOVWstoreconst",
 10941  		auxType:        auxSymValAndOff,
 10942  		argLen:         2,
 10943  		faultOnNilArg0: true,
 10944  		symEffect:      SymWrite,
 10945  		asm:            x86.AMOVW,
 10946  		reg: regInfo{
 10947  			inputs: []inputInfo{
 10948  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10949  			},
 10950  		},
 10951  	},
 10952  	{
 10953  		name:           "MOVLstoreconst",
 10954  		auxType:        auxSymValAndOff,
 10955  		argLen:         2,
 10956  		faultOnNilArg0: true,
 10957  		symEffect:      SymWrite,
 10958  		asm:            x86.AMOVL,
 10959  		reg: regInfo{
 10960  			inputs: []inputInfo{
 10961  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10962  			},
 10963  		},
 10964  	},
 10965  	{
 10966  		name:           "MOVQstoreconst",
 10967  		auxType:        auxSymValAndOff,
 10968  		argLen:         2,
 10969  		faultOnNilArg0: true,
 10970  		symEffect:      SymWrite,
 10971  		asm:            x86.AMOVQ,
 10972  		reg: regInfo{
 10973  			inputs: []inputInfo{
 10974  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10975  			},
 10976  		},
 10977  	},
 10978  	{
 10979  		name:      "MOVBstoreconstidx1",
 10980  		auxType:   auxSymValAndOff,
 10981  		argLen:    3,
 10982  		symEffect: SymWrite,
 10983  		asm:       x86.AMOVB,
 10984  		scale:     1,
 10985  		reg: regInfo{
 10986  			inputs: []inputInfo{
 10987  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 10988  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 10989  			},
 10990  		},
 10991  	},
 10992  	{
 10993  		name:      "MOVWstoreconstidx1",
 10994  		auxType:   auxSymValAndOff,
 10995  		argLen:    3,
 10996  		symEffect: SymWrite,
 10997  		asm:       x86.AMOVW,
 10998  		scale:     1,
 10999  		reg: regInfo{
 11000  			inputs: []inputInfo{
 11001  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11002  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11003  			},
 11004  		},
 11005  	},
 11006  	{
 11007  		name:      "MOVWstoreconstidx2",
 11008  		auxType:   auxSymValAndOff,
 11009  		argLen:    3,
 11010  		symEffect: SymWrite,
 11011  		asm:       x86.AMOVW,
 11012  		scale:     2,
 11013  		reg: regInfo{
 11014  			inputs: []inputInfo{
 11015  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11016  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11017  			},
 11018  		},
 11019  	},
 11020  	{
 11021  		name:      "MOVLstoreconstidx1",
 11022  		auxType:   auxSymValAndOff,
 11023  		argLen:    3,
 11024  		symEffect: SymWrite,
 11025  		asm:       x86.AMOVL,
 11026  		scale:     1,
 11027  		reg: regInfo{
 11028  			inputs: []inputInfo{
 11029  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11030  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11031  			},
 11032  		},
 11033  	},
 11034  	{
 11035  		name:      "MOVLstoreconstidx4",
 11036  		auxType:   auxSymValAndOff,
 11037  		argLen:    3,
 11038  		symEffect: SymWrite,
 11039  		asm:       x86.AMOVL,
 11040  		scale:     4,
 11041  		reg: regInfo{
 11042  			inputs: []inputInfo{
 11043  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11044  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11045  			},
 11046  		},
 11047  	},
 11048  	{
 11049  		name:      "MOVQstoreconstidx1",
 11050  		auxType:   auxSymValAndOff,
 11051  		argLen:    3,
 11052  		symEffect: SymWrite,
 11053  		asm:       x86.AMOVQ,
 11054  		scale:     1,
 11055  		reg: regInfo{
 11056  			inputs: []inputInfo{
 11057  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11058  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11059  			},
 11060  		},
 11061  	},
 11062  	{
 11063  		name:      "MOVQstoreconstidx8",
 11064  		auxType:   auxSymValAndOff,
 11065  		argLen:    3,
 11066  		symEffect: SymWrite,
 11067  		asm:       x86.AMOVQ,
 11068  		scale:     8,
 11069  		reg: regInfo{
 11070  			inputs: []inputInfo{
 11071  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11072  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11073  			},
 11074  		},
 11075  	},
 11076  	{
 11077  		name:           "DUFFZERO",
 11078  		auxType:        auxInt64,
 11079  		argLen:         3,
 11080  		faultOnNilArg0: true,
 11081  		reg: regInfo{
 11082  			inputs: []inputInfo{
 11083  				{0, 128},   // DI
 11084  				{1, 65536}, // X0
 11085  			},
 11086  			clobbers: 128, // DI
 11087  		},
 11088  	},
 11089  	{
 11090  		name:              "MOVOconst",
 11091  		auxType:           auxInt128,
 11092  		argLen:            0,
 11093  		rematerializeable: true,
 11094  		reg: regInfo{
 11095  			outputs: []outputInfo{
 11096  				{0, 4294901760}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 11097  			},
 11098  		},
 11099  	},
 11100  	{
 11101  		name:           "REPSTOSQ",
 11102  		argLen:         4,
 11103  		faultOnNilArg0: true,
 11104  		reg: regInfo{
 11105  			inputs: []inputInfo{
 11106  				{0, 128}, // DI
 11107  				{1, 2},   // CX
 11108  				{2, 1},   // AX
 11109  			},
 11110  			clobbers: 130, // CX DI
 11111  		},
 11112  	},
 11113  	{
 11114  		name:         "CALLstatic",
 11115  		auxType:      auxSymOff,
 11116  		argLen:       1,
 11117  		clobberFlags: true,
 11118  		call:         true,
 11119  		symEffect:    SymNone,
 11120  		reg: regInfo{
 11121  			clobbers: 4294967279, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 11122  		},
 11123  	},
 11124  	{
 11125  		name:         "CALLclosure",
 11126  		auxType:      auxInt64,
 11127  		argLen:       3,
 11128  		clobberFlags: true,
 11129  		call:         true,
 11130  		reg: regInfo{
 11131  			inputs: []inputInfo{
 11132  				{1, 4},     // DX
 11133  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11134  			},
 11135  			clobbers: 4294967279, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 11136  		},
 11137  	},
 11138  	{
 11139  		name:         "CALLinter",
 11140  		auxType:      auxInt64,
 11141  		argLen:       2,
 11142  		clobberFlags: true,
 11143  		call:         true,
 11144  		reg: regInfo{
 11145  			inputs: []inputInfo{
 11146  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11147  			},
 11148  			clobbers: 4294967279, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 11149  		},
 11150  	},
 11151  	{
 11152  		name:           "DUFFCOPY",
 11153  		auxType:        auxInt64,
 11154  		argLen:         3,
 11155  		clobberFlags:   true,
 11156  		faultOnNilArg0: true,
 11157  		faultOnNilArg1: true,
 11158  		reg: regInfo{
 11159  			inputs: []inputInfo{
 11160  				{0, 128}, // DI
 11161  				{1, 64},  // SI
 11162  			},
 11163  			clobbers: 65728, // SI DI X0
 11164  		},
 11165  	},
 11166  	{
 11167  		name:           "REPMOVSQ",
 11168  		argLen:         4,
 11169  		faultOnNilArg0: true,
 11170  		faultOnNilArg1: true,
 11171  		reg: regInfo{
 11172  			inputs: []inputInfo{
 11173  				{0, 128}, // DI
 11174  				{1, 64},  // SI
 11175  				{2, 2},   // CX
 11176  			},
 11177  			clobbers: 194, // CX SI DI
 11178  		},
 11179  	},
 11180  	{
 11181  		name:   "InvertFlags",
 11182  		argLen: 1,
 11183  		reg:    regInfo{},
 11184  	},
 11185  	{
 11186  		name:   "LoweredGetG",
 11187  		argLen: 1,
 11188  		reg: regInfo{
 11189  			outputs: []outputInfo{
 11190  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11191  			},
 11192  		},
 11193  	},
 11194  	{
 11195  		name:      "LoweredGetClosurePtr",
 11196  		argLen:    0,
 11197  		zeroWidth: true,
 11198  		reg: regInfo{
 11199  			outputs: []outputInfo{
 11200  				{0, 4}, // DX
 11201  			},
 11202  		},
 11203  	},
 11204  	{
 11205  		name:              "LoweredGetCallerPC",
 11206  		argLen:            0,
 11207  		rematerializeable: true,
 11208  		reg: regInfo{
 11209  			outputs: []outputInfo{
 11210  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11211  			},
 11212  		},
 11213  	},
 11214  	{
 11215  		name:              "LoweredGetCallerSP",
 11216  		argLen:            0,
 11217  		rematerializeable: true,
 11218  		reg: regInfo{
 11219  			outputs: []outputInfo{
 11220  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11221  			},
 11222  		},
 11223  	},
 11224  	{
 11225  		name:           "LoweredNilCheck",
 11226  		argLen:         2,
 11227  		clobberFlags:   true,
 11228  		nilCheck:       true,
 11229  		faultOnNilArg0: true,
 11230  		reg: regInfo{
 11231  			inputs: []inputInfo{
 11232  				{0, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11233  			},
 11234  		},
 11235  	},
 11236  	{
 11237  		name:         "LoweredWB",
 11238  		auxType:      auxSym,
 11239  		argLen:       3,
 11240  		clobberFlags: true,
 11241  		symEffect:    SymNone,
 11242  		reg: regInfo{
 11243  			inputs: []inputInfo{
 11244  				{0, 128}, // DI
 11245  				{1, 1},   // AX
 11246  			},
 11247  			clobbers: 4294901760, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
 11248  		},
 11249  	},
 11250  	{
 11251  		name:    "LoweredPanicBoundsA",
 11252  		auxType: auxInt64,
 11253  		argLen:  3,
 11254  		reg: regInfo{
 11255  			inputs: []inputInfo{
 11256  				{0, 4}, // DX
 11257  				{1, 8}, // BX
 11258  			},
 11259  		},
 11260  	},
 11261  	{
 11262  		name:    "LoweredPanicBoundsB",
 11263  		auxType: auxInt64,
 11264  		argLen:  3,
 11265  		reg: regInfo{
 11266  			inputs: []inputInfo{
 11267  				{0, 2}, // CX
 11268  				{1, 4}, // DX
 11269  			},
 11270  		},
 11271  	},
 11272  	{
 11273  		name:    "LoweredPanicBoundsC",
 11274  		auxType: auxInt64,
 11275  		argLen:  3,
 11276  		reg: regInfo{
 11277  			inputs: []inputInfo{
 11278  				{0, 1}, // AX
 11279  				{1, 2}, // CX
 11280  			},
 11281  		},
 11282  	},
 11283  	{
 11284  		name:    "LoweredPanicExtendA",
 11285  		auxType: auxInt64,
 11286  		argLen:  4,
 11287  		reg: regInfo{
 11288  			inputs: []inputInfo{
 11289  				{0, 64}, // SI
 11290  				{1, 4},  // DX
 11291  				{2, 8},  // BX
 11292  			},
 11293  		},
 11294  	},
 11295  	{
 11296  		name:    "LoweredPanicExtendB",
 11297  		auxType: auxInt64,
 11298  		argLen:  4,
 11299  		reg: regInfo{
 11300  			inputs: []inputInfo{
 11301  				{0, 64}, // SI
 11302  				{1, 2},  // CX
 11303  				{2, 4},  // DX
 11304  			},
 11305  		},
 11306  	},
 11307  	{
 11308  		name:    "LoweredPanicExtendC",
 11309  		auxType: auxInt64,
 11310  		argLen:  4,
 11311  		reg: regInfo{
 11312  			inputs: []inputInfo{
 11313  				{0, 64}, // SI
 11314  				{1, 1},  // AX
 11315  				{2, 2},  // CX
 11316  			},
 11317  		},
 11318  	},
 11319  	{
 11320  		name:   "FlagEQ",
 11321  		argLen: 0,
 11322  		reg:    regInfo{},
 11323  	},
 11324  	{
 11325  		name:   "FlagLT_ULT",
 11326  		argLen: 0,
 11327  		reg:    regInfo{},
 11328  	},
 11329  	{
 11330  		name:   "FlagLT_UGT",
 11331  		argLen: 0,
 11332  		reg:    regInfo{},
 11333  	},
 11334  	{
 11335  		name:   "FlagGT_UGT",
 11336  		argLen: 0,
 11337  		reg:    regInfo{},
 11338  	},
 11339  	{
 11340  		name:   "FlagGT_ULT",
 11341  		argLen: 0,
 11342  		reg:    regInfo{},
 11343  	},
 11344  	{
 11345  		name:           "MOVBatomicload",
 11346  		auxType:        auxSymOff,
 11347  		argLen:         2,
 11348  		faultOnNilArg0: true,
 11349  		symEffect:      SymRead,
 11350  		asm:            x86.AMOVB,
 11351  		reg: regInfo{
 11352  			inputs: []inputInfo{
 11353  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11354  			},
 11355  			outputs: []outputInfo{
 11356  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11357  			},
 11358  		},
 11359  	},
 11360  	{
 11361  		name:           "MOVLatomicload",
 11362  		auxType:        auxSymOff,
 11363  		argLen:         2,
 11364  		faultOnNilArg0: true,
 11365  		symEffect:      SymRead,
 11366  		asm:            x86.AMOVL,
 11367  		reg: regInfo{
 11368  			inputs: []inputInfo{
 11369  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11370  			},
 11371  			outputs: []outputInfo{
 11372  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11373  			},
 11374  		},
 11375  	},
 11376  	{
 11377  		name:           "MOVQatomicload",
 11378  		auxType:        auxSymOff,
 11379  		argLen:         2,
 11380  		faultOnNilArg0: true,
 11381  		symEffect:      SymRead,
 11382  		asm:            x86.AMOVQ,
 11383  		reg: regInfo{
 11384  			inputs: []inputInfo{
 11385  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11386  			},
 11387  			outputs: []outputInfo{
 11388  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11389  			},
 11390  		},
 11391  	},
 11392  	{
 11393  		name:           "XCHGL",
 11394  		auxType:        auxSymOff,
 11395  		argLen:         3,
 11396  		resultInArg0:   true,
 11397  		faultOnNilArg1: true,
 11398  		hasSideEffects: true,
 11399  		symEffect:      SymRdWr,
 11400  		asm:            x86.AXCHGL,
 11401  		reg: regInfo{
 11402  			inputs: []inputInfo{
 11403  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11404  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11405  			},
 11406  			outputs: []outputInfo{
 11407  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11408  			},
 11409  		},
 11410  	},
 11411  	{
 11412  		name:           "XCHGQ",
 11413  		auxType:        auxSymOff,
 11414  		argLen:         3,
 11415  		resultInArg0:   true,
 11416  		faultOnNilArg1: true,
 11417  		hasSideEffects: true,
 11418  		symEffect:      SymRdWr,
 11419  		asm:            x86.AXCHGQ,
 11420  		reg: regInfo{
 11421  			inputs: []inputInfo{
 11422  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11423  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11424  			},
 11425  			outputs: []outputInfo{
 11426  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11427  			},
 11428  		},
 11429  	},
 11430  	{
 11431  		name:           "XADDLlock",
 11432  		auxType:        auxSymOff,
 11433  		argLen:         3,
 11434  		resultInArg0:   true,
 11435  		clobberFlags:   true,
 11436  		faultOnNilArg1: true,
 11437  		hasSideEffects: true,
 11438  		symEffect:      SymRdWr,
 11439  		asm:            x86.AXADDL,
 11440  		reg: regInfo{
 11441  			inputs: []inputInfo{
 11442  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11443  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11444  			},
 11445  			outputs: []outputInfo{
 11446  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11447  			},
 11448  		},
 11449  	},
 11450  	{
 11451  		name:           "XADDQlock",
 11452  		auxType:        auxSymOff,
 11453  		argLen:         3,
 11454  		resultInArg0:   true,
 11455  		clobberFlags:   true,
 11456  		faultOnNilArg1: true,
 11457  		hasSideEffects: true,
 11458  		symEffect:      SymRdWr,
 11459  		asm:            x86.AXADDQ,
 11460  		reg: regInfo{
 11461  			inputs: []inputInfo{
 11462  				{0, 65519},      // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11463  				{1, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11464  			},
 11465  			outputs: []outputInfo{
 11466  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11467  			},
 11468  		},
 11469  	},
 11470  	{
 11471  		name:   "AddTupleFirst32",
 11472  		argLen: 2,
 11473  		reg:    regInfo{},
 11474  	},
 11475  	{
 11476  		name:   "AddTupleFirst64",
 11477  		argLen: 2,
 11478  		reg:    regInfo{},
 11479  	},
 11480  	{
 11481  		name:           "CMPXCHGLlock",
 11482  		auxType:        auxSymOff,
 11483  		argLen:         4,
 11484  		clobberFlags:   true,
 11485  		faultOnNilArg0: true,
 11486  		hasSideEffects: true,
 11487  		symEffect:      SymRdWr,
 11488  		asm:            x86.ACMPXCHGL,
 11489  		reg: regInfo{
 11490  			inputs: []inputInfo{
 11491  				{1, 1},     // AX
 11492  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11493  				{2, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11494  			},
 11495  			clobbers: 1, // AX
 11496  			outputs: []outputInfo{
 11497  				{1, 0},
 11498  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11499  			},
 11500  		},
 11501  	},
 11502  	{
 11503  		name:           "CMPXCHGQlock",
 11504  		auxType:        auxSymOff,
 11505  		argLen:         4,
 11506  		clobberFlags:   true,
 11507  		faultOnNilArg0: true,
 11508  		hasSideEffects: true,
 11509  		symEffect:      SymRdWr,
 11510  		asm:            x86.ACMPXCHGQ,
 11511  		reg: regInfo{
 11512  			inputs: []inputInfo{
 11513  				{1, 1},     // AX
 11514  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11515  				{2, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11516  			},
 11517  			clobbers: 1, // AX
 11518  			outputs: []outputInfo{
 11519  				{1, 0},
 11520  				{0, 65519}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11521  			},
 11522  		},
 11523  	},
 11524  	{
 11525  		name:           "ANDBlock",
 11526  		auxType:        auxSymOff,
 11527  		argLen:         3,
 11528  		clobberFlags:   true,
 11529  		faultOnNilArg0: true,
 11530  		hasSideEffects: true,
 11531  		symEffect:      SymRdWr,
 11532  		asm:            x86.AANDB,
 11533  		reg: regInfo{
 11534  			inputs: []inputInfo{
 11535  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11536  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11537  			},
 11538  		},
 11539  	},
 11540  	{
 11541  		name:           "ORBlock",
 11542  		auxType:        auxSymOff,
 11543  		argLen:         3,
 11544  		clobberFlags:   true,
 11545  		faultOnNilArg0: true,
 11546  		hasSideEffects: true,
 11547  		symEffect:      SymRdWr,
 11548  		asm:            x86.AORB,
 11549  		reg: regInfo{
 11550  			inputs: []inputInfo{
 11551  				{1, 65535},      // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
 11552  				{0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15 SB
 11553  			},
 11554  		},
 11555  	},
 11556  
 11557  	{
 11558  		name:        "ADD",
 11559  		argLen:      2,
 11560  		commutative: true,
 11561  		asm:         arm.AADD,
 11562  		reg: regInfo{
 11563  			inputs: []inputInfo{
 11564  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11565  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11566  			},
 11567  			outputs: []outputInfo{
 11568  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11569  			},
 11570  		},
 11571  	},
 11572  	{
 11573  		name:    "ADDconst",
 11574  		auxType: auxInt32,
 11575  		argLen:  1,
 11576  		asm:     arm.AADD,
 11577  		reg: regInfo{
 11578  			inputs: []inputInfo{
 11579  				{0, 30719}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 SP R14
 11580  			},
 11581  			outputs: []outputInfo{
 11582  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11583  			},
 11584  		},
 11585  	},
 11586  	{
 11587  		name:   "SUB",
 11588  		argLen: 2,
 11589  		asm:    arm.ASUB,
 11590  		reg: regInfo{
 11591  			inputs: []inputInfo{
 11592  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11593  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11594  			},
 11595  			outputs: []outputInfo{
 11596  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11597  			},
 11598  		},
 11599  	},
 11600  	{
 11601  		name:    "SUBconst",
 11602  		auxType: auxInt32,
 11603  		argLen:  1,
 11604  		asm:     arm.ASUB,
 11605  		reg: regInfo{
 11606  			inputs: []inputInfo{
 11607  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11608  			},
 11609  			outputs: []outputInfo{
 11610  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11611  			},
 11612  		},
 11613  	},
 11614  	{
 11615  		name:   "RSB",
 11616  		argLen: 2,
 11617  		asm:    arm.ARSB,
 11618  		reg: regInfo{
 11619  			inputs: []inputInfo{
 11620  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11621  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11622  			},
 11623  			outputs: []outputInfo{
 11624  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11625  			},
 11626  		},
 11627  	},
 11628  	{
 11629  		name:    "RSBconst",
 11630  		auxType: auxInt32,
 11631  		argLen:  1,
 11632  		asm:     arm.ARSB,
 11633  		reg: regInfo{
 11634  			inputs: []inputInfo{
 11635  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11636  			},
 11637  			outputs: []outputInfo{
 11638  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11639  			},
 11640  		},
 11641  	},
 11642  	{
 11643  		name:        "MUL",
 11644  		argLen:      2,
 11645  		commutative: true,
 11646  		asm:         arm.AMUL,
 11647  		reg: regInfo{
 11648  			inputs: []inputInfo{
 11649  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11650  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11651  			},
 11652  			outputs: []outputInfo{
 11653  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11654  			},
 11655  		},
 11656  	},
 11657  	{
 11658  		name:        "HMUL",
 11659  		argLen:      2,
 11660  		commutative: true,
 11661  		asm:         arm.AMULL,
 11662  		reg: regInfo{
 11663  			inputs: []inputInfo{
 11664  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11665  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11666  			},
 11667  			outputs: []outputInfo{
 11668  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11669  			},
 11670  		},
 11671  	},
 11672  	{
 11673  		name:        "HMULU",
 11674  		argLen:      2,
 11675  		commutative: true,
 11676  		asm:         arm.AMULLU,
 11677  		reg: regInfo{
 11678  			inputs: []inputInfo{
 11679  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11680  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11681  			},
 11682  			outputs: []outputInfo{
 11683  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11684  			},
 11685  		},
 11686  	},
 11687  	{
 11688  		name:         "CALLudiv",
 11689  		argLen:       2,
 11690  		clobberFlags: true,
 11691  		reg: regInfo{
 11692  			inputs: []inputInfo{
 11693  				{0, 2}, // R1
 11694  				{1, 1}, // R0
 11695  			},
 11696  			clobbers: 16396, // R2 R3 R14
 11697  			outputs: []outputInfo{
 11698  				{0, 1}, // R0
 11699  				{1, 2}, // R1
 11700  			},
 11701  		},
 11702  	},
 11703  	{
 11704  		name:        "ADDS",
 11705  		argLen:      2,
 11706  		commutative: true,
 11707  		asm:         arm.AADD,
 11708  		reg: regInfo{
 11709  			inputs: []inputInfo{
 11710  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11711  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11712  			},
 11713  			outputs: []outputInfo{
 11714  				{1, 0},
 11715  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11716  			},
 11717  		},
 11718  	},
 11719  	{
 11720  		name:    "ADDSconst",
 11721  		auxType: auxInt32,
 11722  		argLen:  1,
 11723  		asm:     arm.AADD,
 11724  		reg: regInfo{
 11725  			inputs: []inputInfo{
 11726  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11727  			},
 11728  			outputs: []outputInfo{
 11729  				{1, 0},
 11730  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11731  			},
 11732  		},
 11733  	},
 11734  	{
 11735  		name:        "ADC",
 11736  		argLen:      3,
 11737  		commutative: true,
 11738  		asm:         arm.AADC,
 11739  		reg: regInfo{
 11740  			inputs: []inputInfo{
 11741  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11742  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11743  			},
 11744  			outputs: []outputInfo{
 11745  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11746  			},
 11747  		},
 11748  	},
 11749  	{
 11750  		name:    "ADCconst",
 11751  		auxType: auxInt32,
 11752  		argLen:  2,
 11753  		asm:     arm.AADC,
 11754  		reg: regInfo{
 11755  			inputs: []inputInfo{
 11756  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11757  			},
 11758  			outputs: []outputInfo{
 11759  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11760  			},
 11761  		},
 11762  	},
 11763  	{
 11764  		name:   "SUBS",
 11765  		argLen: 2,
 11766  		asm:    arm.ASUB,
 11767  		reg: regInfo{
 11768  			inputs: []inputInfo{
 11769  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11770  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11771  			},
 11772  			outputs: []outputInfo{
 11773  				{1, 0},
 11774  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11775  			},
 11776  		},
 11777  	},
 11778  	{
 11779  		name:    "SUBSconst",
 11780  		auxType: auxInt32,
 11781  		argLen:  1,
 11782  		asm:     arm.ASUB,
 11783  		reg: regInfo{
 11784  			inputs: []inputInfo{
 11785  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11786  			},
 11787  			outputs: []outputInfo{
 11788  				{1, 0},
 11789  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11790  			},
 11791  		},
 11792  	},
 11793  	{
 11794  		name:    "RSBSconst",
 11795  		auxType: auxInt32,
 11796  		argLen:  1,
 11797  		asm:     arm.ARSB,
 11798  		reg: regInfo{
 11799  			inputs: []inputInfo{
 11800  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11801  			},
 11802  			outputs: []outputInfo{
 11803  				{1, 0},
 11804  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11805  			},
 11806  		},
 11807  	},
 11808  	{
 11809  		name:   "SBC",
 11810  		argLen: 3,
 11811  		asm:    arm.ASBC,
 11812  		reg: regInfo{
 11813  			inputs: []inputInfo{
 11814  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11815  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11816  			},
 11817  			outputs: []outputInfo{
 11818  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11819  			},
 11820  		},
 11821  	},
 11822  	{
 11823  		name:    "SBCconst",
 11824  		auxType: auxInt32,
 11825  		argLen:  2,
 11826  		asm:     arm.ASBC,
 11827  		reg: regInfo{
 11828  			inputs: []inputInfo{
 11829  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11830  			},
 11831  			outputs: []outputInfo{
 11832  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11833  			},
 11834  		},
 11835  	},
 11836  	{
 11837  		name:    "RSCconst",
 11838  		auxType: auxInt32,
 11839  		argLen:  2,
 11840  		asm:     arm.ARSC,
 11841  		reg: regInfo{
 11842  			inputs: []inputInfo{
 11843  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11844  			},
 11845  			outputs: []outputInfo{
 11846  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11847  			},
 11848  		},
 11849  	},
 11850  	{
 11851  		name:        "MULLU",
 11852  		argLen:      2,
 11853  		commutative: true,
 11854  		asm:         arm.AMULLU,
 11855  		reg: regInfo{
 11856  			inputs: []inputInfo{
 11857  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11858  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 11859  			},
 11860  			outputs: []outputInfo{
 11861  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11862  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11863  			},
 11864  		},
 11865  	},
 11866  	{
 11867  		name:   "MULA",
 11868  		argLen: 3,
 11869  		asm:    arm.AMULA,
 11870  		reg: regInfo{
 11871  			inputs: []inputInfo{
 11872  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11873  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11874  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11875  			},
 11876  			outputs: []outputInfo{
 11877  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11878  			},
 11879  		},
 11880  	},
 11881  	{
 11882  		name:   "MULS",
 11883  		argLen: 3,
 11884  		asm:    arm.AMULS,
 11885  		reg: regInfo{
 11886  			inputs: []inputInfo{
 11887  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11888  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11889  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11890  			},
 11891  			outputs: []outputInfo{
 11892  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 11893  			},
 11894  		},
 11895  	},
 11896  	{
 11897  		name:        "ADDF",
 11898  		argLen:      2,
 11899  		commutative: true,
 11900  		asm:         arm.AADDF,
 11901  		reg: regInfo{
 11902  			inputs: []inputInfo{
 11903  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11904  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11905  			},
 11906  			outputs: []outputInfo{
 11907  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11908  			},
 11909  		},
 11910  	},
 11911  	{
 11912  		name:        "ADDD",
 11913  		argLen:      2,
 11914  		commutative: true,
 11915  		asm:         arm.AADDD,
 11916  		reg: regInfo{
 11917  			inputs: []inputInfo{
 11918  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11919  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11920  			},
 11921  			outputs: []outputInfo{
 11922  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11923  			},
 11924  		},
 11925  	},
 11926  	{
 11927  		name:   "SUBF",
 11928  		argLen: 2,
 11929  		asm:    arm.ASUBF,
 11930  		reg: regInfo{
 11931  			inputs: []inputInfo{
 11932  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11933  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11934  			},
 11935  			outputs: []outputInfo{
 11936  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11937  			},
 11938  		},
 11939  	},
 11940  	{
 11941  		name:   "SUBD",
 11942  		argLen: 2,
 11943  		asm:    arm.ASUBD,
 11944  		reg: regInfo{
 11945  			inputs: []inputInfo{
 11946  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11947  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11948  			},
 11949  			outputs: []outputInfo{
 11950  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11951  			},
 11952  		},
 11953  	},
 11954  	{
 11955  		name:        "MULF",
 11956  		argLen:      2,
 11957  		commutative: true,
 11958  		asm:         arm.AMULF,
 11959  		reg: regInfo{
 11960  			inputs: []inputInfo{
 11961  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11962  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11963  			},
 11964  			outputs: []outputInfo{
 11965  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11966  			},
 11967  		},
 11968  	},
 11969  	{
 11970  		name:        "MULD",
 11971  		argLen:      2,
 11972  		commutative: true,
 11973  		asm:         arm.AMULD,
 11974  		reg: regInfo{
 11975  			inputs: []inputInfo{
 11976  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11977  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11978  			},
 11979  			outputs: []outputInfo{
 11980  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11981  			},
 11982  		},
 11983  	},
 11984  	{
 11985  		name:        "NMULF",
 11986  		argLen:      2,
 11987  		commutative: true,
 11988  		asm:         arm.ANMULF,
 11989  		reg: regInfo{
 11990  			inputs: []inputInfo{
 11991  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11992  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11993  			},
 11994  			outputs: []outputInfo{
 11995  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 11996  			},
 11997  		},
 11998  	},
 11999  	{
 12000  		name:        "NMULD",
 12001  		argLen:      2,
 12002  		commutative: true,
 12003  		asm:         arm.ANMULD,
 12004  		reg: regInfo{
 12005  			inputs: []inputInfo{
 12006  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12007  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12008  			},
 12009  			outputs: []outputInfo{
 12010  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12011  			},
 12012  		},
 12013  	},
 12014  	{
 12015  		name:   "DIVF",
 12016  		argLen: 2,
 12017  		asm:    arm.ADIVF,
 12018  		reg: regInfo{
 12019  			inputs: []inputInfo{
 12020  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12021  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12022  			},
 12023  			outputs: []outputInfo{
 12024  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12025  			},
 12026  		},
 12027  	},
 12028  	{
 12029  		name:   "DIVD",
 12030  		argLen: 2,
 12031  		asm:    arm.ADIVD,
 12032  		reg: regInfo{
 12033  			inputs: []inputInfo{
 12034  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12035  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12036  			},
 12037  			outputs: []outputInfo{
 12038  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12039  			},
 12040  		},
 12041  	},
 12042  	{
 12043  		name:         "MULAF",
 12044  		argLen:       3,
 12045  		resultInArg0: true,
 12046  		asm:          arm.AMULAF,
 12047  		reg: regInfo{
 12048  			inputs: []inputInfo{
 12049  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12050  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12051  				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12052  			},
 12053  			outputs: []outputInfo{
 12054  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12055  			},
 12056  		},
 12057  	},
 12058  	{
 12059  		name:         "MULAD",
 12060  		argLen:       3,
 12061  		resultInArg0: true,
 12062  		asm:          arm.AMULAD,
 12063  		reg: regInfo{
 12064  			inputs: []inputInfo{
 12065  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12066  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12067  				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12068  			},
 12069  			outputs: []outputInfo{
 12070  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12071  			},
 12072  		},
 12073  	},
 12074  	{
 12075  		name:         "MULSF",
 12076  		argLen:       3,
 12077  		resultInArg0: true,
 12078  		asm:          arm.AMULSF,
 12079  		reg: regInfo{
 12080  			inputs: []inputInfo{
 12081  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12082  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12083  				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12084  			},
 12085  			outputs: []outputInfo{
 12086  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12087  			},
 12088  		},
 12089  	},
 12090  	{
 12091  		name:         "MULSD",
 12092  		argLen:       3,
 12093  		resultInArg0: true,
 12094  		asm:          arm.AMULSD,
 12095  		reg: regInfo{
 12096  			inputs: []inputInfo{
 12097  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12098  				{1, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12099  				{2, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12100  			},
 12101  			outputs: []outputInfo{
 12102  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12103  			},
 12104  		},
 12105  	},
 12106  	{
 12107  		name:        "AND",
 12108  		argLen:      2,
 12109  		commutative: true,
 12110  		asm:         arm.AAND,
 12111  		reg: regInfo{
 12112  			inputs: []inputInfo{
 12113  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12114  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12115  			},
 12116  			outputs: []outputInfo{
 12117  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12118  			},
 12119  		},
 12120  	},
 12121  	{
 12122  		name:    "ANDconst",
 12123  		auxType: auxInt32,
 12124  		argLen:  1,
 12125  		asm:     arm.AAND,
 12126  		reg: regInfo{
 12127  			inputs: []inputInfo{
 12128  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12129  			},
 12130  			outputs: []outputInfo{
 12131  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12132  			},
 12133  		},
 12134  	},
 12135  	{
 12136  		name:        "OR",
 12137  		argLen:      2,
 12138  		commutative: true,
 12139  		asm:         arm.AORR,
 12140  		reg: regInfo{
 12141  			inputs: []inputInfo{
 12142  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12143  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12144  			},
 12145  			outputs: []outputInfo{
 12146  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12147  			},
 12148  		},
 12149  	},
 12150  	{
 12151  		name:    "ORconst",
 12152  		auxType: auxInt32,
 12153  		argLen:  1,
 12154  		asm:     arm.AORR,
 12155  		reg: regInfo{
 12156  			inputs: []inputInfo{
 12157  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12158  			},
 12159  			outputs: []outputInfo{
 12160  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12161  			},
 12162  		},
 12163  	},
 12164  	{
 12165  		name:        "XOR",
 12166  		argLen:      2,
 12167  		commutative: true,
 12168  		asm:         arm.AEOR,
 12169  		reg: regInfo{
 12170  			inputs: []inputInfo{
 12171  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12172  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12173  			},
 12174  			outputs: []outputInfo{
 12175  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12176  			},
 12177  		},
 12178  	},
 12179  	{
 12180  		name:    "XORconst",
 12181  		auxType: auxInt32,
 12182  		argLen:  1,
 12183  		asm:     arm.AEOR,
 12184  		reg: regInfo{
 12185  			inputs: []inputInfo{
 12186  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12187  			},
 12188  			outputs: []outputInfo{
 12189  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12190  			},
 12191  		},
 12192  	},
 12193  	{
 12194  		name:   "BIC",
 12195  		argLen: 2,
 12196  		asm:    arm.ABIC,
 12197  		reg: regInfo{
 12198  			inputs: []inputInfo{
 12199  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12200  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12201  			},
 12202  			outputs: []outputInfo{
 12203  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12204  			},
 12205  		},
 12206  	},
 12207  	{
 12208  		name:    "BICconst",
 12209  		auxType: auxInt32,
 12210  		argLen:  1,
 12211  		asm:     arm.ABIC,
 12212  		reg: regInfo{
 12213  			inputs: []inputInfo{
 12214  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12215  			},
 12216  			outputs: []outputInfo{
 12217  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12218  			},
 12219  		},
 12220  	},
 12221  	{
 12222  		name:    "BFX",
 12223  		auxType: auxInt32,
 12224  		argLen:  1,
 12225  		asm:     arm.ABFX,
 12226  		reg: regInfo{
 12227  			inputs: []inputInfo{
 12228  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12229  			},
 12230  			outputs: []outputInfo{
 12231  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12232  			},
 12233  		},
 12234  	},
 12235  	{
 12236  		name:    "BFXU",
 12237  		auxType: auxInt32,
 12238  		argLen:  1,
 12239  		asm:     arm.ABFXU,
 12240  		reg: regInfo{
 12241  			inputs: []inputInfo{
 12242  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12243  			},
 12244  			outputs: []outputInfo{
 12245  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12246  			},
 12247  		},
 12248  	},
 12249  	{
 12250  		name:   "MVN",
 12251  		argLen: 1,
 12252  		asm:    arm.AMVN,
 12253  		reg: regInfo{
 12254  			inputs: []inputInfo{
 12255  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12256  			},
 12257  			outputs: []outputInfo{
 12258  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12259  			},
 12260  		},
 12261  	},
 12262  	{
 12263  		name:   "NEGF",
 12264  		argLen: 1,
 12265  		asm:    arm.ANEGF,
 12266  		reg: regInfo{
 12267  			inputs: []inputInfo{
 12268  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12269  			},
 12270  			outputs: []outputInfo{
 12271  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12272  			},
 12273  		},
 12274  	},
 12275  	{
 12276  		name:   "NEGD",
 12277  		argLen: 1,
 12278  		asm:    arm.ANEGD,
 12279  		reg: regInfo{
 12280  			inputs: []inputInfo{
 12281  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12282  			},
 12283  			outputs: []outputInfo{
 12284  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12285  			},
 12286  		},
 12287  	},
 12288  	{
 12289  		name:   "SQRTD",
 12290  		argLen: 1,
 12291  		asm:    arm.ASQRTD,
 12292  		reg: regInfo{
 12293  			inputs: []inputInfo{
 12294  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12295  			},
 12296  			outputs: []outputInfo{
 12297  				{0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
 12298  			},
 12299  		},
 12300  	},
 12301  	{
 12302  		name:   "CLZ",
 12303  		argLen: 1,
 12304  		asm:    arm.ACLZ,
 12305  		reg: regInfo{
 12306  			inputs: []inputInfo{
 12307  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12308  			},
 12309  			outputs: []outputInfo{
 12310  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12311  			},
 12312  		},
 12313  	},
 12314  	{
 12315  		name:   "REV",
 12316  		argLen: 1,
 12317  		asm:    arm.AREV,
 12318  		reg: regInfo{
 12319  			inputs: []inputInfo{
 12320  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12321  			},
 12322  			outputs: []outputInfo{
 12323  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12324  			},
 12325  		},
 12326  	},
 12327  	{
 12328  		name:   "REV16",
 12329  		argLen: 1,
 12330  		asm:    arm.AREV16,
 12331  		reg: regInfo{
 12332  			inputs: []inputInfo{
 12333  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12334  			},
 12335  			outputs: []outputInfo{
 12336  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12337  			},
 12338  		},
 12339  	},
 12340  	{
 12341  		name:   "RBIT",
 12342  		argLen: 1,
 12343  		asm:    arm.ARBIT,
 12344  		reg: regInfo{
 12345  			inputs: []inputInfo{
 12346  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12347  			},
 12348  			outputs: []outputInfo{
 12349  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12350  			},
 12351  		},
 12352  	},
 12353  	{
 12354  		name:   "SLL",
 12355  		argLen: 2,
 12356  		asm:    arm.ASLL,
 12357  		reg: regInfo{
 12358  			inputs: []inputInfo{
 12359  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12360  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12361  			},
 12362  			outputs: []outputInfo{
 12363  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12364  			},
 12365  		},
 12366  	},
 12367  	{
 12368  		name:    "SLLconst",
 12369  		auxType: auxInt32,
 12370  		argLen:  1,
 12371  		asm:     arm.ASLL,
 12372  		reg: regInfo{
 12373  			inputs: []inputInfo{
 12374  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12375  			},
 12376  			outputs: []outputInfo{
 12377  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12378  			},
 12379  		},
 12380  	},
 12381  	{
 12382  		name:   "SRL",
 12383  		argLen: 2,
 12384  		asm:    arm.ASRL,
 12385  		reg: regInfo{
 12386  			inputs: []inputInfo{
 12387  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12388  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12389  			},
 12390  			outputs: []outputInfo{
 12391  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12392  			},
 12393  		},
 12394  	},
 12395  	{
 12396  		name:    "SRLconst",
 12397  		auxType: auxInt32,
 12398  		argLen:  1,
 12399  		asm:     arm.ASRL,
 12400  		reg: regInfo{
 12401  			inputs: []inputInfo{
 12402  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12403  			},
 12404  			outputs: []outputInfo{
 12405  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12406  			},
 12407  		},
 12408  	},
 12409  	{
 12410  		name:   "SRA",
 12411  		argLen: 2,
 12412  		asm:    arm.ASRA,
 12413  		reg: regInfo{
 12414  			inputs: []inputInfo{
 12415  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12416  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12417  			},
 12418  			outputs: []outputInfo{
 12419  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12420  			},
 12421  		},
 12422  	},
 12423  	{
 12424  		name:    "SRAconst",
 12425  		auxType: auxInt32,
 12426  		argLen:  1,
 12427  		asm:     arm.ASRA,
 12428  		reg: regInfo{
 12429  			inputs: []inputInfo{
 12430  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12431  			},
 12432  			outputs: []outputInfo{
 12433  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12434  			},
 12435  		},
 12436  	},
 12437  	{
 12438  		name:    "SRRconst",
 12439  		auxType: auxInt32,
 12440  		argLen:  1,
 12441  		reg: regInfo{
 12442  			inputs: []inputInfo{
 12443  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12444  			},
 12445  			outputs: []outputInfo{
 12446  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12447  			},
 12448  		},
 12449  	},
 12450  	{
 12451  		name:    "ADDshiftLL",
 12452  		auxType: auxInt32,
 12453  		argLen:  2,
 12454  		asm:     arm.AADD,
 12455  		reg: regInfo{
 12456  			inputs: []inputInfo{
 12457  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12458  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12459  			},
 12460  			outputs: []outputInfo{
 12461  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12462  			},
 12463  		},
 12464  	},
 12465  	{
 12466  		name:    "ADDshiftRL",
 12467  		auxType: auxInt32,
 12468  		argLen:  2,
 12469  		asm:     arm.AADD,
 12470  		reg: regInfo{
 12471  			inputs: []inputInfo{
 12472  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12473  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12474  			},
 12475  			outputs: []outputInfo{
 12476  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12477  			},
 12478  		},
 12479  	},
 12480  	{
 12481  		name:    "ADDshiftRA",
 12482  		auxType: auxInt32,
 12483  		argLen:  2,
 12484  		asm:     arm.AADD,
 12485  		reg: regInfo{
 12486  			inputs: []inputInfo{
 12487  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12488  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12489  			},
 12490  			outputs: []outputInfo{
 12491  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12492  			},
 12493  		},
 12494  	},
 12495  	{
 12496  		name:    "SUBshiftLL",
 12497  		auxType: auxInt32,
 12498  		argLen:  2,
 12499  		asm:     arm.ASUB,
 12500  		reg: regInfo{
 12501  			inputs: []inputInfo{
 12502  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12503  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12504  			},
 12505  			outputs: []outputInfo{
 12506  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12507  			},
 12508  		},
 12509  	},
 12510  	{
 12511  		name:    "SUBshiftRL",
 12512  		auxType: auxInt32,
 12513  		argLen:  2,
 12514  		asm:     arm.ASUB,
 12515  		reg: regInfo{
 12516  			inputs: []inputInfo{
 12517  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12518  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12519  			},
 12520  			outputs: []outputInfo{
 12521  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12522  			},
 12523  		},
 12524  	},
 12525  	{
 12526  		name:    "SUBshiftRA",
 12527  		auxType: auxInt32,
 12528  		argLen:  2,
 12529  		asm:     arm.ASUB,
 12530  		reg: regInfo{
 12531  			inputs: []inputInfo{
 12532  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12533  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12534  			},
 12535  			outputs: []outputInfo{
 12536  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12537  			},
 12538  		},
 12539  	},
 12540  	{
 12541  		name:    "RSBshiftLL",
 12542  		auxType: auxInt32,
 12543  		argLen:  2,
 12544  		asm:     arm.ARSB,
 12545  		reg: regInfo{
 12546  			inputs: []inputInfo{
 12547  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12548  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12549  			},
 12550  			outputs: []outputInfo{
 12551  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12552  			},
 12553  		},
 12554  	},
 12555  	{
 12556  		name:    "RSBshiftRL",
 12557  		auxType: auxInt32,
 12558  		argLen:  2,
 12559  		asm:     arm.ARSB,
 12560  		reg: regInfo{
 12561  			inputs: []inputInfo{
 12562  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12563  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12564  			},
 12565  			outputs: []outputInfo{
 12566  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12567  			},
 12568  		},
 12569  	},
 12570  	{
 12571  		name:    "RSBshiftRA",
 12572  		auxType: auxInt32,
 12573  		argLen:  2,
 12574  		asm:     arm.ARSB,
 12575  		reg: regInfo{
 12576  			inputs: []inputInfo{
 12577  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12578  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12579  			},
 12580  			outputs: []outputInfo{
 12581  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12582  			},
 12583  		},
 12584  	},
 12585  	{
 12586  		name:    "ANDshiftLL",
 12587  		auxType: auxInt32,
 12588  		argLen:  2,
 12589  		asm:     arm.AAND,
 12590  		reg: regInfo{
 12591  			inputs: []inputInfo{
 12592  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12593  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12594  			},
 12595  			outputs: []outputInfo{
 12596  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12597  			},
 12598  		},
 12599  	},
 12600  	{
 12601  		name:    "ANDshiftRL",
 12602  		auxType: auxInt32,
 12603  		argLen:  2,
 12604  		asm:     arm.AAND,
 12605  		reg: regInfo{
 12606  			inputs: []inputInfo{
 12607  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12608  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12609  			},
 12610  			outputs: []outputInfo{
 12611  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12612  			},
 12613  		},
 12614  	},
 12615  	{
 12616  		name:    "ANDshiftRA",
 12617  		auxType: auxInt32,
 12618  		argLen:  2,
 12619  		asm:     arm.AAND,
 12620  		reg: regInfo{
 12621  			inputs: []inputInfo{
 12622  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12623  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12624  			},
 12625  			outputs: []outputInfo{
 12626  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12627  			},
 12628  		},
 12629  	},
 12630  	{
 12631  		name:    "ORshiftLL",
 12632  		auxType: auxInt32,
 12633  		argLen:  2,
 12634  		asm:     arm.AORR,
 12635  		reg: regInfo{
 12636  			inputs: []inputInfo{
 12637  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12638  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12639  			},
 12640  			outputs: []outputInfo{
 12641  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12642  			},
 12643  		},
 12644  	},
 12645  	{
 12646  		name:    "ORshiftRL",
 12647  		auxType: auxInt32,
 12648  		argLen:  2,
 12649  		asm:     arm.AORR,
 12650  		reg: regInfo{
 12651  			inputs: []inputInfo{
 12652  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12653  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12654  			},
 12655  			outputs: []outputInfo{
 12656  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12657  			},
 12658  		},
 12659  	},
 12660  	{
 12661  		name:    "ORshiftRA",
 12662  		auxType: auxInt32,
 12663  		argLen:  2,
 12664  		asm:     arm.AORR,
 12665  		reg: regInfo{
 12666  			inputs: []inputInfo{
 12667  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12668  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12669  			},
 12670  			outputs: []outputInfo{
 12671  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12672  			},
 12673  		},
 12674  	},
 12675  	{
 12676  		name:    "XORshiftLL",
 12677  		auxType: auxInt32,
 12678  		argLen:  2,
 12679  		asm:     arm.AEOR,
 12680  		reg: regInfo{
 12681  			inputs: []inputInfo{
 12682  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12683  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12684  			},
 12685  			outputs: []outputInfo{
 12686  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12687  			},
 12688  		},
 12689  	},
 12690  	{
 12691  		name:    "XORshiftRL",
 12692  		auxType: auxInt32,
 12693  		argLen:  2,
 12694  		asm:     arm.AEOR,
 12695  		reg: regInfo{
 12696  			inputs: []inputInfo{
 12697  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12698  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12699  			},
 12700  			outputs: []outputInfo{
 12701  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12702  			},
 12703  		},
 12704  	},
 12705  	{
 12706  		name:    "XORshiftRA",
 12707  		auxType: auxInt32,
 12708  		argLen:  2,
 12709  		asm:     arm.AEOR,
 12710  		reg: regInfo{
 12711  			inputs: []inputInfo{
 12712  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12713  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12714  			},
 12715  			outputs: []outputInfo{
 12716  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12717  			},
 12718  		},
 12719  	},
 12720  	{
 12721  		name:    "XORshiftRR",
 12722  		auxType: auxInt32,
 12723  		argLen:  2,
 12724  		asm:     arm.AEOR,
 12725  		reg: regInfo{
 12726  			inputs: []inputInfo{
 12727  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12728  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12729  			},
 12730  			outputs: []outputInfo{
 12731  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12732  			},
 12733  		},
 12734  	},
 12735  	{
 12736  		name:    "BICshiftLL",
 12737  		auxType: auxInt32,
 12738  		argLen:  2,
 12739  		asm:     arm.ABIC,
 12740  		reg: regInfo{
 12741  			inputs: []inputInfo{
 12742  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12743  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12744  			},
 12745  			outputs: []outputInfo{
 12746  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12747  			},
 12748  		},
 12749  	},
 12750  	{
 12751  		name:    "BICshiftRL",
 12752  		auxType: auxInt32,
 12753  		argLen:  2,
 12754  		asm:     arm.ABIC,
 12755  		reg: regInfo{
 12756  			inputs: []inputInfo{
 12757  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12758  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12759  			},
 12760  			outputs: []outputInfo{
 12761  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12762  			},
 12763  		},
 12764  	},
 12765  	{
 12766  		name:    "BICshiftRA",
 12767  		auxType: auxInt32,
 12768  		argLen:  2,
 12769  		asm:     arm.ABIC,
 12770  		reg: regInfo{
 12771  			inputs: []inputInfo{
 12772  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12773  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12774  			},
 12775  			outputs: []outputInfo{
 12776  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12777  			},
 12778  		},
 12779  	},
 12780  	{
 12781  		name:    "MVNshiftLL",
 12782  		auxType: auxInt32,
 12783  		argLen:  1,
 12784  		asm:     arm.AMVN,
 12785  		reg: regInfo{
 12786  			inputs: []inputInfo{
 12787  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12788  			},
 12789  			outputs: []outputInfo{
 12790  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12791  			},
 12792  		},
 12793  	},
 12794  	{
 12795  		name:    "MVNshiftRL",
 12796  		auxType: auxInt32,
 12797  		argLen:  1,
 12798  		asm:     arm.AMVN,
 12799  		reg: regInfo{
 12800  			inputs: []inputInfo{
 12801  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12802  			},
 12803  			outputs: []outputInfo{
 12804  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12805  			},
 12806  		},
 12807  	},
 12808  	{
 12809  		name:    "MVNshiftRA",
 12810  		auxType: auxInt32,
 12811  		argLen:  1,
 12812  		asm:     arm.AMVN,
 12813  		reg: regInfo{
 12814  			inputs: []inputInfo{
 12815  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12816  			},
 12817  			outputs: []outputInfo{
 12818  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12819  			},
 12820  		},
 12821  	},
 12822  	{
 12823  		name:    "ADCshiftLL",
 12824  		auxType: auxInt32,
 12825  		argLen:  3,
 12826  		asm:     arm.AADC,
 12827  		reg: regInfo{
 12828  			inputs: []inputInfo{
 12829  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12830  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12831  			},
 12832  			outputs: []outputInfo{
 12833  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12834  			},
 12835  		},
 12836  	},
 12837  	{
 12838  		name:    "ADCshiftRL",
 12839  		auxType: auxInt32,
 12840  		argLen:  3,
 12841  		asm:     arm.AADC,
 12842  		reg: regInfo{
 12843  			inputs: []inputInfo{
 12844  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12845  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12846  			},
 12847  			outputs: []outputInfo{
 12848  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12849  			},
 12850  		},
 12851  	},
 12852  	{
 12853  		name:    "ADCshiftRA",
 12854  		auxType: auxInt32,
 12855  		argLen:  3,
 12856  		asm:     arm.AADC,
 12857  		reg: regInfo{
 12858  			inputs: []inputInfo{
 12859  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12860  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12861  			},
 12862  			outputs: []outputInfo{
 12863  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12864  			},
 12865  		},
 12866  	},
 12867  	{
 12868  		name:    "SBCshiftLL",
 12869  		auxType: auxInt32,
 12870  		argLen:  3,
 12871  		asm:     arm.ASBC,
 12872  		reg: regInfo{
 12873  			inputs: []inputInfo{
 12874  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12875  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12876  			},
 12877  			outputs: []outputInfo{
 12878  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12879  			},
 12880  		},
 12881  	},
 12882  	{
 12883  		name:    "SBCshiftRL",
 12884  		auxType: auxInt32,
 12885  		argLen:  3,
 12886  		asm:     arm.ASBC,
 12887  		reg: regInfo{
 12888  			inputs: []inputInfo{
 12889  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12890  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12891  			},
 12892  			outputs: []outputInfo{
 12893  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12894  			},
 12895  		},
 12896  	},
 12897  	{
 12898  		name:    "SBCshiftRA",
 12899  		auxType: auxInt32,
 12900  		argLen:  3,
 12901  		asm:     arm.ASBC,
 12902  		reg: regInfo{
 12903  			inputs: []inputInfo{
 12904  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12905  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12906  			},
 12907  			outputs: []outputInfo{
 12908  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12909  			},
 12910  		},
 12911  	},
 12912  	{
 12913  		name:    "RSCshiftLL",
 12914  		auxType: auxInt32,
 12915  		argLen:  3,
 12916  		asm:     arm.ARSC,
 12917  		reg: regInfo{
 12918  			inputs: []inputInfo{
 12919  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12920  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12921  			},
 12922  			outputs: []outputInfo{
 12923  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12924  			},
 12925  		},
 12926  	},
 12927  	{
 12928  		name:    "RSCshiftRL",
 12929  		auxType: auxInt32,
 12930  		argLen:  3,
 12931  		asm:     arm.ARSC,
 12932  		reg: regInfo{
 12933  			inputs: []inputInfo{
 12934  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12935  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12936  			},
 12937  			outputs: []outputInfo{
 12938  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12939  			},
 12940  		},
 12941  	},
 12942  	{
 12943  		name:    "RSCshiftRA",
 12944  		auxType: auxInt32,
 12945  		argLen:  3,
 12946  		asm:     arm.ARSC,
 12947  		reg: regInfo{
 12948  			inputs: []inputInfo{
 12949  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12950  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12951  			},
 12952  			outputs: []outputInfo{
 12953  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12954  			},
 12955  		},
 12956  	},
 12957  	{
 12958  		name:    "ADDSshiftLL",
 12959  		auxType: auxInt32,
 12960  		argLen:  2,
 12961  		asm:     arm.AADD,
 12962  		reg: regInfo{
 12963  			inputs: []inputInfo{
 12964  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12965  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12966  			},
 12967  			outputs: []outputInfo{
 12968  				{1, 0},
 12969  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12970  			},
 12971  		},
 12972  	},
 12973  	{
 12974  		name:    "ADDSshiftRL",
 12975  		auxType: auxInt32,
 12976  		argLen:  2,
 12977  		asm:     arm.AADD,
 12978  		reg: regInfo{
 12979  			inputs: []inputInfo{
 12980  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12981  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12982  			},
 12983  			outputs: []outputInfo{
 12984  				{1, 0},
 12985  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 12986  			},
 12987  		},
 12988  	},
 12989  	{
 12990  		name:    "ADDSshiftRA",
 12991  		auxType: auxInt32,
 12992  		argLen:  2,
 12993  		asm:     arm.AADD,
 12994  		reg: regInfo{
 12995  			inputs: []inputInfo{
 12996  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12997  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 12998  			},
 12999  			outputs: []outputInfo{
 13000  				{1, 0},
 13001  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13002  			},
 13003  		},
 13004  	},
 13005  	{
 13006  		name:    "SUBSshiftLL",
 13007  		auxType: auxInt32,
 13008  		argLen:  2,
 13009  		asm:     arm.ASUB,
 13010  		reg: regInfo{
 13011  			inputs: []inputInfo{
 13012  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13013  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13014  			},
 13015  			outputs: []outputInfo{
 13016  				{1, 0},
 13017  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13018  			},
 13019  		},
 13020  	},
 13021  	{
 13022  		name:    "SUBSshiftRL",
 13023  		auxType: auxInt32,
 13024  		argLen:  2,
 13025  		asm:     arm.ASUB,
 13026  		reg: regInfo{
 13027  			inputs: []inputInfo{
 13028  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13029  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13030  			},
 13031  			outputs: []outputInfo{
 13032  				{1, 0},
 13033  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13034  			},
 13035  		},
 13036  	},
 13037  	{
 13038  		name:    "SUBSshiftRA",
 13039  		auxType: auxInt32,
 13040  		argLen:  2,
 13041  		asm:     arm.ASUB,
 13042  		reg: regInfo{
 13043  			inputs: []inputInfo{
 13044  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13045  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13046  			},
 13047  			outputs: []outputInfo{
 13048  				{1, 0},
 13049  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13050  			},
 13051  		},
 13052  	},
 13053  	{
 13054  		name:    "RSBSshiftLL",
 13055  		auxType: auxInt32,
 13056  		argLen:  2,
 13057  		asm:     arm.ARSB,
 13058  		reg: regInfo{
 13059  			inputs: []inputInfo{
 13060  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13061  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13062  			},
 13063  			outputs: []outputInfo{
 13064  				{1, 0},
 13065  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13066  			},
 13067  		},
 13068  	},
 13069  	{
 13070  		name:    "RSBSshiftRL",
 13071  		auxType: auxInt32,
 13072  		argLen:  2,
 13073  		asm:     arm.ARSB,
 13074  		reg: regInfo{
 13075  			inputs: []inputInfo{
 13076  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13077  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13078  			},
 13079  			outputs: []outputInfo{
 13080  				{1, 0},
 13081  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13082  			},
 13083  		},
 13084  	},
 13085  	{
 13086  		name:    "RSBSshiftRA",
 13087  		auxType: auxInt32,
 13088  		argLen:  2,
 13089  		asm:     arm.ARSB,
 13090  		reg: regInfo{
 13091  			inputs: []inputInfo{
 13092  				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13093  				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
 13094  			},
 13095  			outputs: []outputInfo{
 13096  				{1, 0},
 13097  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13098  			},
 13099  		},
 13100  	},
 13101  	{
 13102  		name:   "ADDshiftLLreg",
 13103  		argLen: 3,
 13104  		asm:    arm.AADD,
 13105  		reg: regInfo{
 13106  			inputs: []inputInfo{
 13107  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13108  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13109  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13110  			},
 13111  			outputs: []outputInfo{
 13112  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13113  			},
 13114  		},
 13115  	},
 13116  	{
 13117  		name:   "ADDshiftRLreg",
 13118  		argLen: 3,
 13119  		asm:    arm.AADD,
 13120  		reg: regInfo{
 13121  			inputs: []inputInfo{
 13122  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13123  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13124  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13125  			},
 13126  			outputs: []outputInfo{
 13127  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13128  			},
 13129  		},
 13130  	},
 13131  	{
 13132  		name:   "ADDshiftRAreg",
 13133  		argLen: 3,
 13134  		asm:    arm.AADD,
 13135  		reg: regInfo{
 13136  			inputs: []inputInfo{
 13137  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13138  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13139  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13140  			},
 13141  			outputs: []outputInfo{
 13142  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13143  			},
 13144  		},
 13145  	},
 13146  	{
 13147  		name:   "SUBshiftLLreg",
 13148  		argLen: 3,
 13149  		asm:    arm.ASUB,
 13150  		reg: regInfo{
 13151  			inputs: []inputInfo{
 13152  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13153  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13154  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13155  			},
 13156  			outputs: []outputInfo{
 13157  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13158  			},
 13159  		},
 13160  	},
 13161  	{
 13162  		name:   "SUBshiftRLreg",
 13163  		argLen: 3,
 13164  		asm:    arm.ASUB,
 13165  		reg: regInfo{
 13166  			inputs: []inputInfo{
 13167  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13168  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13169  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13170  			},
 13171  			outputs: []outputInfo{
 13172  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13173  			},
 13174  		},
 13175  	},
 13176  	{
 13177  		name:   "SUBshiftRAreg",
 13178  		argLen: 3,
 13179  		asm:    arm.ASUB,
 13180  		reg: regInfo{
 13181  			inputs: []inputInfo{
 13182  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13183  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13184  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13185  			},
 13186  			outputs: []outputInfo{
 13187  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13188  			},
 13189  		},
 13190  	},
 13191  	{
 13192  		name:   "RSBshiftLLreg",
 13193  		argLen: 3,
 13194  		asm:    arm.ARSB,
 13195  		reg: regInfo{
 13196  			inputs: []inputInfo{
 13197  				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13198  				{1, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13199  				{2, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
 13200  			},