github.com/mattn/go@v0.0.0-20171011075504-07f7db3ea99f/src/cmd/internal/obj/x86/a.out.go (about)

     1  // Inferno utils/6c/6.out.h
     2  // https://bitbucket.org/inferno-os/inferno-os/src/default/utils/6c/6.out.h
     3  //
     4  //	Copyright © 1994-1999 Lucent Technologies Inc.  All rights reserved.
     5  //	Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
     6  //	Portions Copyright © 1997-1999 Vita Nuova Limited
     7  //	Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com)
     8  //	Portions Copyright © 2004,2006 Bruce Ellis
     9  //	Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
    10  //	Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others
    11  //	Portions Copyright © 2009 The Go Authors. All rights reserved.
    12  //
    13  // Permission is hereby granted, free of charge, to any person obtaining a copy
    14  // of this software and associated documentation files (the "Software"), to deal
    15  // in the Software without restriction, including without limitation the rights
    16  // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    17  // copies of the Software, and to permit persons to whom the Software is
    18  // furnished to do so, subject to the following conditions:
    19  //
    20  // The above copyright notice and this permission notice shall be included in
    21  // all copies or substantial portions of the Software.
    22  //
    23  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    24  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    25  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    26  // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    27  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    28  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    29  // THE SOFTWARE.
    30  
    31  package x86
    32  
    33  import "cmd/internal/obj"
    34  
    35  //go:generate go run ../stringer.go -i $GOFILE -o anames.go -p x86
    36  
    37  const (
    38  	/* mark flags */
    39  	DONE          = 1 << iota
    40  	PRESERVEFLAGS // not allowed to clobber flags
    41  )
    42  
    43  /*
    44   *	amd64
    45   */
    46  const (
    47  	AAAA = obj.ABaseAMD64 + obj.A_ARCHSPECIFIC + iota
    48  	AAAD
    49  	AAAM
    50  	AAAS
    51  	AADCB
    52  	AADCL
    53  	AADCW
    54  	AADDB
    55  	AADDL
    56  	AADDW
    57  	AADJSP
    58  	AANDB
    59  	AANDL
    60  	AANDW
    61  	AARPL
    62  	ABOUNDL
    63  	ABOUNDW
    64  	ABSFL
    65  	ABSFW
    66  	ABSRL
    67  	ABSRW
    68  	ABTL
    69  	ABTW
    70  	ABTCL
    71  	ABTCW
    72  	ABTRL
    73  	ABTRW
    74  	ABTSL
    75  	ABTSW
    76  	ABYTE
    77  	ACLC
    78  	ACLD
    79  	ACLFLUSH
    80  	ACLI
    81  	ACLTS
    82  	ACMC
    83  	ACMPB
    84  	ACMPL
    85  	ACMPW
    86  	ACMPSB
    87  	ACMPSL
    88  	ACMPSW
    89  	ADAA
    90  	ADAS
    91  	ADECB
    92  	ADECL
    93  	ADECQ
    94  	ADECW
    95  	ADIVB
    96  	ADIVL
    97  	ADIVW
    98  	AENTER
    99  	AHADDPD
   100  	AHADDPS
   101  	AHLT
   102  	AHSUBPD
   103  	AHSUBPS
   104  	AIDIVB
   105  	AIDIVL
   106  	AIDIVW
   107  	AIMULB
   108  	AIMULL
   109  	AIMULW
   110  	AINB
   111  	AINL
   112  	AINW
   113  	AINCB
   114  	AINCL
   115  	AINCQ
   116  	AINCW
   117  	AINSB
   118  	AINSL
   119  	AINSERTPS
   120  	AINSW
   121  	AINT
   122  	AINTO
   123  	AIRETL
   124  	AIRETW
   125  	AJCC // >= unsigned
   126  	AJCS // < unsigned
   127  	AJCXZL
   128  	AJEQ // == (zero)
   129  	AJGE // >= signed
   130  	AJGT // > signed
   131  	AJHI // > unsigned
   132  	AJLE // <= signed
   133  	AJLS // <= unsigned
   134  	AJLT // < signed
   135  	AJMI // sign bit set (negative)
   136  	AJNE // != (nonzero)
   137  	AJOC // overflow clear
   138  	AJOS // overflow set
   139  	AJPC // parity clear
   140  	AJPL // sign bit clear (positive)
   141  	AJPS // parity set
   142  	ALAHF
   143  	ALARL
   144  	ALARW
   145  	ALEAL
   146  	ALEAW
   147  	ALEAVEL
   148  	ALEAVEW
   149  	ALOCK
   150  	ALODSB
   151  	ALODSL
   152  	ALODSW
   153  	ALONG
   154  	ALOOP
   155  	ALOOPEQ
   156  	ALOOPNE
   157  	ALSLL
   158  	ALSLW
   159  	AMOVB
   160  	AMOVL
   161  	AMOVW
   162  	AMOVBLSX
   163  	AMOVBLZX
   164  	AMOVBQSX
   165  	AMOVBQZX
   166  	AMOVBWSX
   167  	AMOVBWZX
   168  	AMOVWLSX
   169  	AMOVWLZX
   170  	AMOVWQSX
   171  	AMOVWQZX
   172  	AMOVSB
   173  	AMOVSL
   174  	AMOVSW
   175  	AMPSADBW
   176  	AMULB
   177  	AMULL
   178  	AMULW
   179  	ANEGB
   180  	ANEGL
   181  	ANEGW
   182  	ANOTB
   183  	ANOTL
   184  	ANOTW
   185  	AORB
   186  	AORL
   187  	AORW
   188  	AOUTB
   189  	AOUTL
   190  	AOUTW
   191  	AOUTSB
   192  	AOUTSL
   193  	AOUTSW
   194  	APABSB
   195  	APABSD
   196  	APABSW
   197  	APAUSE
   198  	APOPAL
   199  	APOPAW
   200  	APOPCNTW
   201  	APOPCNTL
   202  	APOPCNTQ
   203  	APOPFL
   204  	APOPFW
   205  	APOPL
   206  	APOPW
   207  	APUSHAL
   208  	APUSHAW
   209  	APUSHFL
   210  	APUSHFW
   211  	APUSHL
   212  	APUSHW
   213  	ARCLB
   214  	ARCLL
   215  	ARCLW
   216  	ARCRB
   217  	ARCRL
   218  	ARCRW
   219  	AREP
   220  	AREPN
   221  	AROLB
   222  	AROLL
   223  	AROLW
   224  	ARORB
   225  	ARORL
   226  	ARORW
   227  	ASAHF
   228  	ASALB
   229  	ASALL
   230  	ASALW
   231  	ASARB
   232  	ASARL
   233  	ASARW
   234  	ASBBB
   235  	ASBBL
   236  	ASBBW
   237  	ASCASB
   238  	ASCASL
   239  	ASCASW
   240  	ASETCC
   241  	ASETCS
   242  	ASETEQ
   243  	ASETGE
   244  	ASETGT
   245  	ASETHI
   246  	ASETLE
   247  	ASETLS
   248  	ASETLT
   249  	ASETMI
   250  	ASETNE
   251  	ASETOC
   252  	ASETOS
   253  	ASETPC
   254  	ASETPL
   255  	ASETPS
   256  	ACDQ
   257  	ACWD
   258  	ASHLB
   259  	ASHLL
   260  	ASHLW
   261  	ASHRB
   262  	ASHRL
   263  	ASHRW
   264  	ASTC
   265  	ASTD
   266  	ASTI
   267  	ASTOSB
   268  	ASTOSL
   269  	ASTOSW
   270  	ASUBB
   271  	ASUBL
   272  	ASUBW
   273  	ASYSCALL
   274  	ATESTB
   275  	ATESTL
   276  	ATESTW
   277  	AVERR
   278  	AVERW
   279  	AWAIT
   280  	AWORD
   281  	AXCHGB
   282  	AXCHGL
   283  	AXCHGW
   284  	AXLAT
   285  	AXORB
   286  	AXORL
   287  	AXORW
   288  
   289  	AFMOVB
   290  	AFMOVBP
   291  	AFMOVD
   292  	AFMOVDP
   293  	AFMOVF
   294  	AFMOVFP
   295  	AFMOVL
   296  	AFMOVLP
   297  	AFMOVV
   298  	AFMOVVP
   299  	AFMOVW
   300  	AFMOVWP
   301  	AFMOVX
   302  	AFMOVXP
   303  
   304  	AFCOMD
   305  	AFCOMDP
   306  	AFCOMDPP
   307  	AFCOMF
   308  	AFCOMFP
   309  	AFCOML
   310  	AFCOMLP
   311  	AFCOMW
   312  	AFCOMWP
   313  	AFUCOM
   314  	AFUCOMP
   315  	AFUCOMPP
   316  
   317  	AFADDDP
   318  	AFADDW
   319  	AFADDL
   320  	AFADDF
   321  	AFADDD
   322  
   323  	AFMULDP
   324  	AFMULW
   325  	AFMULL
   326  	AFMULF
   327  	AFMULD
   328  
   329  	AFSUBDP
   330  	AFSUBW
   331  	AFSUBL
   332  	AFSUBF
   333  	AFSUBD
   334  
   335  	AFSUBRDP
   336  	AFSUBRW
   337  	AFSUBRL
   338  	AFSUBRF
   339  	AFSUBRD
   340  
   341  	AFDIVDP
   342  	AFDIVW
   343  	AFDIVL
   344  	AFDIVF
   345  	AFDIVD
   346  
   347  	AFDIVRDP
   348  	AFDIVRW
   349  	AFDIVRL
   350  	AFDIVRF
   351  	AFDIVRD
   352  
   353  	AFXCHD
   354  	AFFREE
   355  
   356  	AFLDCW
   357  	AFLDENV
   358  	AFRSTOR
   359  	AFSAVE
   360  	AFSTCW
   361  	AFSTENV
   362  	AFSTSW
   363  
   364  	AF2XM1
   365  	AFABS
   366  	AFCHS
   367  	AFCLEX
   368  	AFCOS
   369  	AFDECSTP
   370  	AFINCSTP
   371  	AFINIT
   372  	AFLD1
   373  	AFLDL2E
   374  	AFLDL2T
   375  	AFLDLG2
   376  	AFLDLN2
   377  	AFLDPI
   378  	AFLDZ
   379  	AFNOP
   380  	AFPATAN
   381  	AFPREM
   382  	AFPREM1
   383  	AFPTAN
   384  	AFRNDINT
   385  	AFSCALE
   386  	AFSIN
   387  	AFSINCOS
   388  	AFSQRT
   389  	AFTST
   390  	AFXAM
   391  	AFXTRACT
   392  	AFYL2X
   393  	AFYL2XP1
   394  
   395  	// extra 32-bit operations
   396  	ACMPXCHGB
   397  	ACMPXCHGL
   398  	ACMPXCHGW
   399  	ACMPXCHG8B
   400  	ACPUID
   401  	AINVD
   402  	AINVLPG
   403  	ALFENCE
   404  	AMFENCE
   405  	AMOVNTIL
   406  	ARDMSR
   407  	ARDPMC
   408  	ARDTSC
   409  	ARSM
   410  	ASFENCE
   411  	ASYSRET
   412  	AWBINVD
   413  	AWRMSR
   414  	AXADDB
   415  	AXADDL
   416  	AXADDW
   417  
   418  	// conditional move
   419  	ACMOVLCC
   420  	ACMOVLCS
   421  	ACMOVLEQ
   422  	ACMOVLGE
   423  	ACMOVLGT
   424  	ACMOVLHI
   425  	ACMOVLLE
   426  	ACMOVLLS
   427  	ACMOVLLT
   428  	ACMOVLMI
   429  	ACMOVLNE
   430  	ACMOVLOC
   431  	ACMOVLOS
   432  	ACMOVLPC
   433  	ACMOVLPL
   434  	ACMOVLPS
   435  	ACMOVQCC
   436  	ACMOVQCS
   437  	ACMOVQEQ
   438  	ACMOVQGE
   439  	ACMOVQGT
   440  	ACMOVQHI
   441  	ACMOVQLE
   442  	ACMOVQLS
   443  	ACMOVQLT
   444  	ACMOVQMI
   445  	ACMOVQNE
   446  	ACMOVQOC
   447  	ACMOVQOS
   448  	ACMOVQPC
   449  	ACMOVQPL
   450  	ACMOVQPS
   451  	ACMOVWCC
   452  	ACMOVWCS
   453  	ACMOVWEQ
   454  	ACMOVWGE
   455  	ACMOVWGT
   456  	ACMOVWHI
   457  	ACMOVWLE
   458  	ACMOVWLS
   459  	ACMOVWLT
   460  	ACMOVWMI
   461  	ACMOVWNE
   462  	ACMOVWOC
   463  	ACMOVWOS
   464  	ACMOVWPC
   465  	ACMOVWPL
   466  	ACMOVWPS
   467  
   468  	// 64-bit
   469  	AADCQ
   470  	AADDQ
   471  	AANDQ
   472  	ABSFQ
   473  	ABSRQ
   474  	ABTCQ
   475  	ABTQ
   476  	ABTRQ
   477  	ABTSQ
   478  	ACMPQ
   479  	ACMPSQ
   480  	ACMPXCHGQ
   481  	ACQO
   482  	ADIVQ
   483  	AIDIVQ
   484  	AIMULQ
   485  	AIRETQ
   486  	AJCXZQ
   487  	ALEAQ
   488  	ALEAVEQ
   489  	ALODSQ
   490  	AMOVQ
   491  	AMOVLQSX
   492  	AMOVLQZX
   493  	AMOVNTIQ
   494  	AMOVSQ
   495  	AMULQ
   496  	ANEGQ
   497  	ANOTQ
   498  	AORQ
   499  	APOPFQ
   500  	APOPQ
   501  	APUSHFQ
   502  	APUSHQ
   503  	ARCLQ
   504  	ARCRQ
   505  	AROLQ
   506  	ARORQ
   507  	AQUAD
   508  	ASALQ
   509  	ASARQ
   510  	ASBBQ
   511  	ASCASQ
   512  	ASHLQ
   513  	ASHRQ
   514  	ASTOSQ
   515  	ASUBQ
   516  	ATESTQ
   517  	AXADDQ
   518  	AXCHGQ
   519  	AXORQ
   520  	AXGETBV
   521  
   522  	// media
   523  	AADDPD
   524  	AADDPS
   525  	AADDSD
   526  	AADDSS
   527  	AADDSUBPD
   528  	AADDSUBPS
   529  	AANDNL
   530  	AANDNQ
   531  	AANDNPD
   532  	AANDNPS
   533  	AANDPD
   534  	AANDPS
   535  	ABEXTRL
   536  	ABEXTRQ
   537  	ABLENDPD
   538  	ABLENDPS
   539  	ABLSIL
   540  	ABLSIQ
   541  	ABLSMSKL
   542  	ABLSMSKQ
   543  	ABLSRL
   544  	ABLSRQ
   545  	ABZHIL
   546  	ABZHIQ
   547  	ACMPPD
   548  	ACMPPS
   549  	ACMPSD
   550  	ACMPSS
   551  	ACOMISD
   552  	ACOMISS
   553  	ACVTPD2PL
   554  	ACVTPD2PS
   555  	ACVTPL2PD
   556  	ACVTPL2PS
   557  	ACVTPS2PD
   558  	ACVTPS2PL
   559  	ACVTSD2SL
   560  	ACVTSD2SQ
   561  	ACVTSD2SS
   562  	ACVTSL2SD
   563  	ACVTSL2SS
   564  	ACVTSQ2SD
   565  	ACVTSQ2SS
   566  	ACVTSS2SD
   567  	ACVTSS2SL
   568  	ACVTSS2SQ
   569  	ACVTTPD2PL
   570  	ACVTTPS2PL
   571  	ACVTTSD2SL
   572  	ACVTTSD2SQ
   573  	ACVTTSS2SL
   574  	ACVTTSS2SQ
   575  	ADIVPD
   576  	ADIVPS
   577  	ADIVSD
   578  	ADIVSS
   579  	ADPPD
   580  	ADPPS
   581  	AEMMS
   582  	AEXTRACTPS
   583  	AFXRSTOR
   584  	AFXRSTOR64
   585  	AFXSAVE
   586  	AFXSAVE64
   587  	ALDDQU
   588  	ALDMXCSR
   589  	AMASKMOVOU
   590  	AMASKMOVQ
   591  	AMAXPD
   592  	AMAXPS
   593  	AMAXSD
   594  	AMAXSS
   595  	AMINPD
   596  	AMINPS
   597  	AMINSD
   598  	AMINSS
   599  	AMOVAPD
   600  	AMOVAPS
   601  	AMOVOU
   602  	AMOVHLPS
   603  	AMOVHPD
   604  	AMOVHPS
   605  	AMOVLHPS
   606  	AMOVLPD
   607  	AMOVLPS
   608  	AMOVMSKPD
   609  	AMOVMSKPS
   610  	AMOVNTO
   611  	AMOVNTDQA
   612  	AMOVNTPD
   613  	AMOVNTPS
   614  	AMOVNTQ
   615  	AMOVO
   616  	AMOVQOZX
   617  	AMOVSD
   618  	AMOVSS
   619  	AMOVUPD
   620  	AMOVUPS
   621  	AMULPD
   622  	AMULPS
   623  	AMULSD
   624  	AMULSS
   625  	AMULXL
   626  	AMULXQ
   627  	AORPD
   628  	AORPS
   629  	APACKSSLW
   630  	APACKSSWB
   631  	APACKUSDW
   632  	APACKUSWB
   633  	APADDB
   634  	APADDL
   635  	APADDQ
   636  	APADDSB
   637  	APADDSW
   638  	APADDUSB
   639  	APADDUSW
   640  	APADDW
   641  	APALIGNR
   642  	APAND
   643  	APANDN
   644  	APAVGB
   645  	APAVGW
   646  	APBLENDW
   647  	APCMPEQB
   648  	APCMPEQL
   649  	APCMPEQQ
   650  	APCMPEQW
   651  	APCMPGTB
   652  	APCMPGTL
   653  	APCMPGTQ
   654  	APCMPGTW
   655  	APCMPISTRI
   656  	APCMPISTRM
   657  	APDEPL
   658  	APDEPQ
   659  	APEXTL
   660  	APEXTQ
   661  	APEXTRB
   662  	APEXTRD
   663  	APEXTRQ
   664  	APEXTRW
   665  	APHADDD
   666  	APHADDSW
   667  	APHADDW
   668  	APHMINPOSUW
   669  	APHSUBD
   670  	APHSUBSW
   671  	APHSUBW
   672  	APINSRB
   673  	APINSRD
   674  	APINSRQ
   675  	APINSRW
   676  	APMADDUBSW
   677  	APMADDWL
   678  	APMAXSB
   679  	APMAXSD
   680  	APMAXSW
   681  	APMAXUB
   682  	APMAXUD
   683  	APMAXUW
   684  	APMINSB
   685  	APMINSD
   686  	APMINSW
   687  	APMINUB
   688  	APMINUD
   689  	APMINUW
   690  	APMOVMSKB
   691  	APMOVSXBD
   692  	APMOVSXBQ
   693  	APMOVSXBW
   694  	APMOVSXDQ
   695  	APMOVSXWD
   696  	APMOVSXWQ
   697  	APMOVZXBD
   698  	APMOVZXBQ
   699  	APMOVZXBW
   700  	APMOVZXDQ
   701  	APMOVZXWD
   702  	APMOVZXWQ
   703  	APMULDQ
   704  	APMULHRSW
   705  	APMULHUW
   706  	APMULHW
   707  	APMULLD
   708  	APMULLW
   709  	APMULULQ
   710  	APOR
   711  	APSADBW
   712  	APSHUFB
   713  	APSHUFHW
   714  	APSHUFL
   715  	APSHUFLW
   716  	APSHUFW
   717  	APSIGNB
   718  	APSIGND
   719  	APSIGNW
   720  	APSLLL
   721  	APSLLO
   722  	APSLLQ
   723  	APSLLW
   724  	APSRAL
   725  	APSRAW
   726  	APSRLL
   727  	APSRLO
   728  	APSRLQ
   729  	APSRLW
   730  	APSUBB
   731  	APSUBL
   732  	APSUBQ
   733  	APSUBSB
   734  	APSUBSW
   735  	APSUBUSB
   736  	APSUBUSW
   737  	APSUBW
   738  	APTEST
   739  	APUNPCKHBW
   740  	APUNPCKHLQ
   741  	APUNPCKHQDQ
   742  	APUNPCKHWL
   743  	APUNPCKLBW
   744  	APUNPCKLLQ
   745  	APUNPCKLQDQ
   746  	APUNPCKLWL
   747  	APXOR
   748  	ARCPPS
   749  	ARCPSS
   750  	ARSQRTPS
   751  	ARSQRTSS
   752  	ASARXL
   753  	ASARXQ
   754  	ASHLXL
   755  	ASHLXQ
   756  	ASHRXL
   757  	ASHRXQ
   758  	ASHUFPD
   759  	ASHUFPS
   760  	ASQRTPD
   761  	ASQRTPS
   762  	ASQRTSD
   763  	ASQRTSS
   764  	ASTMXCSR
   765  	ASUBPD
   766  	ASUBPS
   767  	ASUBSD
   768  	ASUBSS
   769  	AUCOMISD
   770  	AUCOMISS
   771  	AUNPCKHPD
   772  	AUNPCKHPS
   773  	AUNPCKLPD
   774  	AUNPCKLPS
   775  	AXORPD
   776  	AXORPS
   777  	APCMPESTRI
   778  	APCMPESTRM
   779  
   780  	ARETFW
   781  	ARETFL
   782  	ARETFQ
   783  	ASWAPGS
   784  
   785  	ACRC32B
   786  	ACRC32Q
   787  	AIMUL3Q
   788  
   789  	APREFETCHT0
   790  	APREFETCHT1
   791  	APREFETCHT2
   792  	APREFETCHNTA
   793  
   794  	AMOVQL
   795  	ABSWAPL
   796  	ABSWAPQ
   797  
   798  	AAESENC
   799  	AAESENCLAST
   800  	AAESDEC
   801  	AAESDECLAST
   802  	AAESIMC
   803  	AAESKEYGENASSIST
   804  
   805  	AROUNDPS
   806  	AROUNDSS
   807  	AROUNDPD
   808  	AROUNDSD
   809  	AMOVDDUP
   810  	AMOVSHDUP
   811  	AMOVSLDUP
   812  
   813  	APSHUFD
   814  	APCLMULQDQ
   815  
   816  	AVZEROUPPER
   817  	AVMOVDQU
   818  	AVMOVNTDQ
   819  	AVMOVDQA
   820  	AVPCMPEQB
   821  	AVPXOR
   822  	AVPMOVMSKB
   823  	AVPAND
   824  	AVPTEST
   825  	AVPBROADCASTB
   826  	AVPSHUFB
   827  	AVPSHUFD
   828  	AVPERM2F128
   829  	AVPALIGNR
   830  	AVPADDQ
   831  	AVPADDD
   832  	AVPSRLDQ
   833  	AVPSLLDQ
   834  	AVPSRLQ
   835  	AVPSLLQ
   836  	AVPSRLD
   837  	AVPSLLD
   838  	AVPOR
   839  	AVPBLENDD
   840  	AVINSERTI128
   841  	AVPERM2I128
   842  	ARORXL
   843  	ARORXQ
   844  	AVADDSD
   845  	AVBROADCASTSS
   846  	AVBROADCASTSD
   847  	AVFMADD213SD
   848  	AVFMADD231SD
   849  	AVFNMADD213SD
   850  	AVFNMADD231SD
   851  	AVMOVDDUP
   852  	AVMOVSHDUP
   853  	AVMOVSLDUP
   854  	AVSUBSD
   855  
   856  	// from 386
   857  	AJCXZW
   858  	AFCMOVCC
   859  	AFCMOVCS
   860  	AFCMOVEQ
   861  	AFCMOVHI
   862  	AFCMOVLS
   863  	AFCMOVNE
   864  	AFCMOVNU
   865  	AFCMOVUN
   866  	AFCOMI
   867  	AFCOMIP
   868  	AFUCOMI
   869  	AFUCOMIP
   870  
   871  	// TSX
   872  	AXACQUIRE
   873  	AXRELEASE
   874  	AXBEGIN
   875  	AXEND
   876  	AXABORT
   877  	AXTEST
   878  
   879  	ALAST
   880  )
   881  
   882  const (
   883  	REG_NONE = 0
   884  )
   885  
   886  const (
   887  	REG_AL = obj.RBaseAMD64 + iota
   888  	REG_CL
   889  	REG_DL
   890  	REG_BL
   891  	REG_SPB
   892  	REG_BPB
   893  	REG_SIB
   894  	REG_DIB
   895  	REG_R8B
   896  	REG_R9B
   897  	REG_R10B
   898  	REG_R11B
   899  	REG_R12B
   900  	REG_R13B
   901  	REG_R14B
   902  	REG_R15B
   903  
   904  	REG_AX
   905  	REG_CX
   906  	REG_DX
   907  	REG_BX
   908  	REG_SP
   909  	REG_BP
   910  	REG_SI
   911  	REG_DI
   912  	REG_R8
   913  	REG_R9
   914  	REG_R10
   915  	REG_R11
   916  	REG_R12
   917  	REG_R13
   918  	REG_R14
   919  	REG_R15
   920  
   921  	REG_AH
   922  	REG_CH
   923  	REG_DH
   924  	REG_BH
   925  
   926  	REG_F0
   927  	REG_F1
   928  	REG_F2
   929  	REG_F3
   930  	REG_F4
   931  	REG_F5
   932  	REG_F6
   933  	REG_F7
   934  
   935  	REG_M0
   936  	REG_M1
   937  	REG_M2
   938  	REG_M3
   939  	REG_M4
   940  	REG_M5
   941  	REG_M6
   942  	REG_M7
   943  
   944  	REG_X0
   945  	REG_X1
   946  	REG_X2
   947  	REG_X3
   948  	REG_X4
   949  	REG_X5
   950  	REG_X6
   951  	REG_X7
   952  	REG_X8
   953  	REG_X9
   954  	REG_X10
   955  	REG_X11
   956  	REG_X12
   957  	REG_X13
   958  	REG_X14
   959  	REG_X15
   960  
   961  	REG_Y0
   962  	REG_Y1
   963  	REG_Y2
   964  	REG_Y3
   965  	REG_Y4
   966  	REG_Y5
   967  	REG_Y6
   968  	REG_Y7
   969  	REG_Y8
   970  	REG_Y9
   971  	REG_Y10
   972  	REG_Y11
   973  	REG_Y12
   974  	REG_Y13
   975  	REG_Y14
   976  	REG_Y15
   977  
   978  	REG_CS
   979  	REG_SS
   980  	REG_DS
   981  	REG_ES
   982  	REG_FS
   983  	REG_GS
   984  
   985  	REG_GDTR /* global descriptor table register */
   986  	REG_IDTR /* interrupt descriptor table register */
   987  	REG_LDTR /* local descriptor table register */
   988  	REG_MSW  /* machine status word */
   989  	REG_TASK /* task register */
   990  
   991  	REG_CR0
   992  	REG_CR1
   993  	REG_CR2
   994  	REG_CR3
   995  	REG_CR4
   996  	REG_CR5
   997  	REG_CR6
   998  	REG_CR7
   999  	REG_CR8
  1000  	REG_CR9
  1001  	REG_CR10
  1002  	REG_CR11
  1003  	REG_CR12
  1004  	REG_CR13
  1005  	REG_CR14
  1006  	REG_CR15
  1007  
  1008  	REG_DR0
  1009  	REG_DR1
  1010  	REG_DR2
  1011  	REG_DR3
  1012  	REG_DR4
  1013  	REG_DR5
  1014  	REG_DR6
  1015  	REG_DR7
  1016  
  1017  	REG_TR0
  1018  	REG_TR1
  1019  	REG_TR2
  1020  	REG_TR3
  1021  	REG_TR4
  1022  	REG_TR5
  1023  	REG_TR6
  1024  	REG_TR7
  1025  
  1026  	REG_TLS
  1027  
  1028  	MAXREG
  1029  
  1030  	REG_CR = REG_CR0
  1031  	REG_DR = REG_DR0
  1032  	REG_TR = REG_TR0
  1033  
  1034  	REGARG   = -1
  1035  	REGRET   = REG_AX
  1036  	FREGRET  = REG_X0
  1037  	REGSP    = REG_SP
  1038  	REGCTXT  = REG_DX
  1039  	REGEXT   = REG_R15     /* compiler allocates external registers R15 down */
  1040  	FREGMIN  = REG_X0 + 5  /* first register variable */
  1041  	FREGEXT  = REG_X0 + 15 /* first external register */
  1042  	T_TYPE   = 1 << 0
  1043  	T_INDEX  = 1 << 1
  1044  	T_OFFSET = 1 << 2
  1045  	T_FCONST = 1 << 3
  1046  	T_SYM    = 1 << 4
  1047  	T_SCONST = 1 << 5
  1048  	T_64     = 1 << 6
  1049  	T_GOTYPE = 1 << 7
  1050  )
  1051  
  1052  // https://www.uclibc.org/docs/psABI-x86_64.pdf, figure 3.36
  1053  var AMD64DWARFRegisters = map[int16]int16{
  1054  	REG_AX:  0,
  1055  	REG_DX:  1,
  1056  	REG_CX:  2,
  1057  	REG_BX:  3,
  1058  	REG_SI:  4,
  1059  	REG_DI:  5,
  1060  	REG_BP:  6,
  1061  	REG_SP:  7,
  1062  	REG_R8:  8,
  1063  	REG_R9:  9,
  1064  	REG_R10: 10,
  1065  	REG_R11: 11,
  1066  	REG_R12: 12,
  1067  	REG_R13: 13,
  1068  	REG_R14: 14,
  1069  	REG_R15: 15,
  1070  	// 16 is "Return Address RA", whatever that is.
  1071  	// XMM registers. %xmmN => XN.
  1072  	REG_X0:  17,
  1073  	REG_X1:  18,
  1074  	REG_X2:  19,
  1075  	REG_X3:  20,
  1076  	REG_X4:  21,
  1077  	REG_X5:  22,
  1078  	REG_X6:  23,
  1079  	REG_X7:  24,
  1080  	REG_X8:  25,
  1081  	REG_X9:  26,
  1082  	REG_X10: 27,
  1083  	REG_X11: 28,
  1084  	REG_X12: 29,
  1085  	REG_X13: 30,
  1086  	REG_X14: 31,
  1087  	REG_X15: 32,
  1088  	// ST registers. %stN => FN.
  1089  	REG_F0: 33,
  1090  	REG_F1: 34,
  1091  	REG_F2: 35,
  1092  	REG_F3: 36,
  1093  	REG_F4: 37,
  1094  	REG_F5: 38,
  1095  	REG_F6: 39,
  1096  	REG_F7: 40,
  1097  	// MMX registers. %mmN => MN.
  1098  	REG_M0: 41,
  1099  	REG_M1: 42,
  1100  	REG_M2: 43,
  1101  	REG_M3: 44,
  1102  	REG_M4: 45,
  1103  	REG_M5: 46,
  1104  	REG_M6: 47,
  1105  	REG_M7: 48,
  1106  	// 48 is flags, which doesn't have a name.
  1107  	REG_ES: 50,
  1108  	REG_CS: 51,
  1109  	REG_SS: 52,
  1110  	REG_DS: 53,
  1111  	REG_FS: 54,
  1112  	REG_GS: 55,
  1113  	// 58 and 59 are {fs,gs}base, which don't have names.
  1114  	REG_TR:   62,
  1115  	REG_LDTR: 63,
  1116  	// 64-66 are mxcsr, fcw, fsw, which don't have names.
  1117  }
  1118  
  1119  // https://www.uclibc.org/docs/psABI-i386.pdf, table 2.14
  1120  var X86DWARFRegisters = map[int16]int16{
  1121  	REG_AX: 0,
  1122  	REG_CX: 1,
  1123  	REG_DX: 2,
  1124  	REG_BX: 3,
  1125  	REG_SP: 4,
  1126  	REG_BP: 5,
  1127  	REG_SI: 6,
  1128  	REG_DI: 7,
  1129  	// 8 is "Return Address RA", whatever that is.
  1130  	// 9 is flags, which doesn't have a name.
  1131  	// ST registers. %stN => FN.
  1132  	REG_F0: 11,
  1133  	REG_F1: 12,
  1134  	REG_F2: 13,
  1135  	REG_F3: 14,
  1136  	REG_F4: 15,
  1137  	REG_F5: 16,
  1138  	REG_F6: 17,
  1139  	REG_F7: 18,
  1140  	// XMM registers. %xmmN => XN.
  1141  	REG_X0: 21,
  1142  	REG_X1: 22,
  1143  	REG_X2: 23,
  1144  	REG_X3: 24,
  1145  	REG_X4: 25,
  1146  	REG_X5: 26,
  1147  	REG_X6: 27,
  1148  	REG_X7: 28,
  1149  	// MMX registers. %mmN => MN.
  1150  	REG_M0: 29,
  1151  	REG_M1: 30,
  1152  	REG_M2: 31,
  1153  	REG_M3: 32,
  1154  	REG_M4: 33,
  1155  	REG_M5: 34,
  1156  	REG_M6: 35,
  1157  	REG_M7: 36,
  1158  	// 39 is mxcsr, which doesn't have a name.
  1159  	REG_ES:   40,
  1160  	REG_CS:   41,
  1161  	REG_SS:   42,
  1162  	REG_DS:   43,
  1163  	REG_FS:   44,
  1164  	REG_GS:   45,
  1165  	REG_TR:   48,
  1166  	REG_LDTR: 49,
  1167  }