...
Run Format

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