1010 lines
10 KiB
Go
1010 lines
10 KiB
Go
// Inferno utils/6c/6.out.h
|
|
// https://bitbucket.org/inferno-os/inferno-os/src/default/utils/6c/6.out.h
|
|
//
|
|
// Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
|
|
// Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
|
|
// Portions Copyright © 1997-1999 Vita Nuova Limited
|
|
// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com)
|
|
// Portions Copyright © 2004,2006 Bruce Ellis
|
|
// Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
|
|
// Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others
|
|
// Portions Copyright © 2009 The Go Authors. All rights reserved.
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be included in
|
|
// all copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
// THE SOFTWARE.
|
|
|
|
package x86
|
|
|
|
import "github.com/google/gops/internal/obj"
|
|
|
|
//go:generate go run ../stringer.go -i $GOFILE -o anames.go -p x86
|
|
|
|
const (
|
|
/* mark flags */
|
|
DONE = 1 << iota
|
|
PRESERVEFLAGS // not allowed to clobber flags
|
|
)
|
|
|
|
/*
|
|
* amd64
|
|
*/
|
|
const (
|
|
AAAA = obj.ABaseAMD64 + obj.A_ARCHSPECIFIC + iota
|
|
AAAD
|
|
AAAM
|
|
AAAS
|
|
AADCB
|
|
AADCL
|
|
AADCW
|
|
AADDB
|
|
AADDL
|
|
AADDW
|
|
AADJSP
|
|
AANDB
|
|
AANDL
|
|
AANDW
|
|
AARPL
|
|
ABOUNDL
|
|
ABOUNDW
|
|
ABSFL
|
|
ABSFW
|
|
ABSRL
|
|
ABSRW
|
|
ABTL
|
|
ABTW
|
|
ABTCL
|
|
ABTCW
|
|
ABTRL
|
|
ABTRW
|
|
ABTSL
|
|
ABTSW
|
|
ABYTE
|
|
ACLC
|
|
ACLD
|
|
ACLI
|
|
ACLTS
|
|
ACMC
|
|
ACMPB
|
|
ACMPL
|
|
ACMPW
|
|
ACMPSB
|
|
ACMPSL
|
|
ACMPSW
|
|
ADAA
|
|
ADAS
|
|
ADECB
|
|
ADECL
|
|
ADECQ
|
|
ADECW
|
|
ADIVB
|
|
ADIVL
|
|
ADIVW
|
|
AENTER
|
|
AHADDPD
|
|
AHADDPS
|
|
AHLT
|
|
AHSUBPD
|
|
AHSUBPS
|
|
AIDIVB
|
|
AIDIVL
|
|
AIDIVW
|
|
AIMULB
|
|
AIMULL
|
|
AIMULW
|
|
AINB
|
|
AINL
|
|
AINW
|
|
AINCB
|
|
AINCL
|
|
AINCQ
|
|
AINCW
|
|
AINSB
|
|
AINSL
|
|
AINSW
|
|
AINT
|
|
AINTO
|
|
AIRETL
|
|
AIRETW
|
|
AJCC // >= unsigned
|
|
AJCS // < unsigned
|
|
AJCXZL
|
|
AJEQ // == (zero)
|
|
AJGE // >= signed
|
|
AJGT // > signed
|
|
AJHI // > unsigned
|
|
AJLE // <= signed
|
|
AJLS // <= unsigned
|
|
AJLT // < signed
|
|
AJMI // sign bit set (negative)
|
|
AJNE // != (nonzero)
|
|
AJOC // overflow clear
|
|
AJOS // overflow set
|
|
AJPC // parity clear
|
|
AJPL // sign bit clear (positive)
|
|
AJPS // parity set
|
|
ALAHF
|
|
ALARL
|
|
ALARW
|
|
ALEAL
|
|
ALEAW
|
|
ALEAVEL
|
|
ALEAVEW
|
|
ALOCK
|
|
ALODSB
|
|
ALODSL
|
|
ALODSW
|
|
ALONG
|
|
ALOOP
|
|
ALOOPEQ
|
|
ALOOPNE
|
|
ALSLL
|
|
ALSLW
|
|
AMOVB
|
|
AMOVL
|
|
AMOVW
|
|
AMOVBLSX
|
|
AMOVBLZX
|
|
AMOVBQSX
|
|
AMOVBQZX
|
|
AMOVBWSX
|
|
AMOVBWZX
|
|
AMOVWLSX
|
|
AMOVWLZX
|
|
AMOVWQSX
|
|
AMOVWQZX
|
|
AMOVSB
|
|
AMOVSL
|
|
AMOVSW
|
|
AMULB
|
|
AMULL
|
|
AMULW
|
|
ANEGB
|
|
ANEGL
|
|
ANEGW
|
|
ANOTB
|
|
ANOTL
|
|
ANOTW
|
|
AORB
|
|
AORL
|
|
AORW
|
|
AOUTB
|
|
AOUTL
|
|
AOUTW
|
|
AOUTSB
|
|
AOUTSL
|
|
AOUTSW
|
|
APAUSE
|
|
APOPAL
|
|
APOPAW
|
|
APOPCNTW
|
|
APOPCNTL
|
|
APOPCNTQ
|
|
APOPFL
|
|
APOPFW
|
|
APOPL
|
|
APOPW
|
|
APUSHAL
|
|
APUSHAW
|
|
APUSHFL
|
|
APUSHFW
|
|
APUSHL
|
|
APUSHW
|
|
ARCLB
|
|
ARCLL
|
|
ARCLW
|
|
ARCRB
|
|
ARCRL
|
|
ARCRW
|
|
AREP
|
|
AREPN
|
|
AROLB
|
|
AROLL
|
|
AROLW
|
|
ARORB
|
|
ARORL
|
|
ARORW
|
|
ASAHF
|
|
ASALB
|
|
ASALL
|
|
ASALW
|
|
ASARB
|
|
ASARL
|
|
ASARW
|
|
ASBBB
|
|
ASBBL
|
|
ASBBW
|
|
ASCASB
|
|
ASCASL
|
|
ASCASW
|
|
ASETCC
|
|
ASETCS
|
|
ASETEQ
|
|
ASETGE
|
|
ASETGT
|
|
ASETHI
|
|
ASETLE
|
|
ASETLS
|
|
ASETLT
|
|
ASETMI
|
|
ASETNE
|
|
ASETOC
|
|
ASETOS
|
|
ASETPC
|
|
ASETPL
|
|
ASETPS
|
|
ACDQ
|
|
ACWD
|
|
ASHLB
|
|
ASHLL
|
|
ASHLW
|
|
ASHRB
|
|
ASHRL
|
|
ASHRW
|
|
ASTC
|
|
ASTD
|
|
ASTI
|
|
ASTOSB
|
|
ASTOSL
|
|
ASTOSW
|
|
ASUBB
|
|
ASUBL
|
|
ASUBW
|
|
ASYSCALL
|
|
ATESTB
|
|
ATESTL
|
|
ATESTW
|
|
AVERR
|
|
AVERW
|
|
AWAIT
|
|
AWORD
|
|
AXCHGB
|
|
AXCHGL
|
|
AXCHGW
|
|
AXLAT
|
|
AXORB
|
|
AXORL
|
|
AXORW
|
|
|
|
AFMOVB
|
|
AFMOVBP
|
|
AFMOVD
|
|
AFMOVDP
|
|
AFMOVF
|
|
AFMOVFP
|
|
AFMOVL
|
|
AFMOVLP
|
|
AFMOVV
|
|
AFMOVVP
|
|
AFMOVW
|
|
AFMOVWP
|
|
AFMOVX
|
|
AFMOVXP
|
|
|
|
AFCOMD
|
|
AFCOMDP
|
|
AFCOMDPP
|
|
AFCOMF
|
|
AFCOMFP
|
|
AFCOML
|
|
AFCOMLP
|
|
AFCOMW
|
|
AFCOMWP
|
|
AFUCOM
|
|
AFUCOMP
|
|
AFUCOMPP
|
|
|
|
AFADDDP
|
|
AFADDW
|
|
AFADDL
|
|
AFADDF
|
|
AFADDD
|
|
|
|
AFMULDP
|
|
AFMULW
|
|
AFMULL
|
|
AFMULF
|
|
AFMULD
|
|
|
|
AFSUBDP
|
|
AFSUBW
|
|
AFSUBL
|
|
AFSUBF
|
|
AFSUBD
|
|
|
|
AFSUBRDP
|
|
AFSUBRW
|
|
AFSUBRL
|
|
AFSUBRF
|
|
AFSUBRD
|
|
|
|
AFDIVDP
|
|
AFDIVW
|
|
AFDIVL
|
|
AFDIVF
|
|
AFDIVD
|
|
|
|
AFDIVRDP
|
|
AFDIVRW
|
|
AFDIVRL
|
|
AFDIVRF
|
|
AFDIVRD
|
|
|
|
AFXCHD
|
|
AFFREE
|
|
|
|
AFLDCW
|
|
AFLDENV
|
|
AFRSTOR
|
|
AFSAVE
|
|
AFSTCW
|
|
AFSTENV
|
|
AFSTSW
|
|
|
|
AF2XM1
|
|
AFABS
|
|
AFCHS
|
|
AFCLEX
|
|
AFCOS
|
|
AFDECSTP
|
|
AFINCSTP
|
|
AFINIT
|
|
AFLD1
|
|
AFLDL2E
|
|
AFLDL2T
|
|
AFLDLG2
|
|
AFLDLN2
|
|
AFLDPI
|
|
AFLDZ
|
|
AFNOP
|
|
AFPATAN
|
|
AFPREM
|
|
AFPREM1
|
|
AFPTAN
|
|
AFRNDINT
|
|
AFSCALE
|
|
AFSIN
|
|
AFSINCOS
|
|
AFSQRT
|
|
AFTST
|
|
AFXAM
|
|
AFXTRACT
|
|
AFYL2X
|
|
AFYL2XP1
|
|
|
|
// extra 32-bit operations
|
|
ACMPXCHGB
|
|
ACMPXCHGL
|
|
ACMPXCHGW
|
|
ACMPXCHG8B
|
|
ACPUID
|
|
AINVD
|
|
AINVLPG
|
|
ALFENCE
|
|
AMFENCE
|
|
AMOVNTIL
|
|
ARDMSR
|
|
ARDPMC
|
|
ARDTSC
|
|
ARSM
|
|
ASFENCE
|
|
ASYSRET
|
|
AWBINVD
|
|
AWRMSR
|
|
AXADDB
|
|
AXADDL
|
|
AXADDW
|
|
|
|
// conditional move
|
|
ACMOVLCC
|
|
ACMOVLCS
|
|
ACMOVLEQ
|
|
ACMOVLGE
|
|
ACMOVLGT
|
|
ACMOVLHI
|
|
ACMOVLLE
|
|
ACMOVLLS
|
|
ACMOVLLT
|
|
ACMOVLMI
|
|
ACMOVLNE
|
|
ACMOVLOC
|
|
ACMOVLOS
|
|
ACMOVLPC
|
|
ACMOVLPL
|
|
ACMOVLPS
|
|
ACMOVQCC
|
|
ACMOVQCS
|
|
ACMOVQEQ
|
|
ACMOVQGE
|
|
ACMOVQGT
|
|
ACMOVQHI
|
|
ACMOVQLE
|
|
ACMOVQLS
|
|
ACMOVQLT
|
|
ACMOVQMI
|
|
ACMOVQNE
|
|
ACMOVQOC
|
|
ACMOVQOS
|
|
ACMOVQPC
|
|
ACMOVQPL
|
|
ACMOVQPS
|
|
ACMOVWCC
|
|
ACMOVWCS
|
|
ACMOVWEQ
|
|
ACMOVWGE
|
|
ACMOVWGT
|
|
ACMOVWHI
|
|
ACMOVWLE
|
|
ACMOVWLS
|
|
ACMOVWLT
|
|
ACMOVWMI
|
|
ACMOVWNE
|
|
ACMOVWOC
|
|
ACMOVWOS
|
|
ACMOVWPC
|
|
ACMOVWPL
|
|
ACMOVWPS
|
|
|
|
// 64-bit
|
|
AADCQ
|
|
AADDQ
|
|
AANDQ
|
|
ABSFQ
|
|
ABSRQ
|
|
ABTCQ
|
|
ABTQ
|
|
ABTRQ
|
|
ABTSQ
|
|
ACMPQ
|
|
ACMPSQ
|
|
ACMPXCHGQ
|
|
ACQO
|
|
ADIVQ
|
|
AIDIVQ
|
|
AIMULQ
|
|
AIRETQ
|
|
AJCXZQ
|
|
ALEAQ
|
|
ALEAVEQ
|
|
ALODSQ
|
|
AMOVQ
|
|
AMOVLQSX
|
|
AMOVLQZX
|
|
AMOVNTIQ
|
|
AMOVSQ
|
|
AMULQ
|
|
ANEGQ
|
|
ANOTQ
|
|
AORQ
|
|
APOPFQ
|
|
APOPQ
|
|
APUSHFQ
|
|
APUSHQ
|
|
ARCLQ
|
|
ARCRQ
|
|
AROLQ
|
|
ARORQ
|
|
AQUAD
|
|
ASALQ
|
|
ASARQ
|
|
ASBBQ
|
|
ASCASQ
|
|
ASHLQ
|
|
ASHRQ
|
|
ASTOSQ
|
|
ASUBQ
|
|
ATESTQ
|
|
AXADDQ
|
|
AXCHGQ
|
|
AXORQ
|
|
AXGETBV
|
|
|
|
// media
|
|
AADDPD
|
|
AADDPS
|
|
AADDSD
|
|
AADDSS
|
|
AANDNL
|
|
AANDNQ
|
|
AANDNPD
|
|
AANDNPS
|
|
AANDPD
|
|
AANDPS
|
|
ABEXTRL
|
|
ABEXTRQ
|
|
ABLSIL
|
|
ABLSIQ
|
|
ABLSMSKL
|
|
ABLSMSKQ
|
|
ABLSRL
|
|
ABLSRQ
|
|
ABZHIL
|
|
ABZHIQ
|
|
ACMPPD
|
|
ACMPPS
|
|
ACMPSD
|
|
ACMPSS
|
|
ACOMISD
|
|
ACOMISS
|
|
ACVTPD2PL
|
|
ACVTPD2PS
|
|
ACVTPL2PD
|
|
ACVTPL2PS
|
|
ACVTPS2PD
|
|
ACVTPS2PL
|
|
ACVTSD2SL
|
|
ACVTSD2SQ
|
|
ACVTSD2SS
|
|
ACVTSL2SD
|
|
ACVTSL2SS
|
|
ACVTSQ2SD
|
|
ACVTSQ2SS
|
|
ACVTSS2SD
|
|
ACVTSS2SL
|
|
ACVTSS2SQ
|
|
ACVTTPD2PL
|
|
ACVTTPS2PL
|
|
ACVTTSD2SL
|
|
ACVTTSD2SQ
|
|
ACVTTSS2SL
|
|
ACVTTSS2SQ
|
|
ADIVPD
|
|
ADIVPS
|
|
ADIVSD
|
|
ADIVSS
|
|
AEMMS
|
|
AFXRSTOR
|
|
AFXRSTOR64
|
|
AFXSAVE
|
|
AFXSAVE64
|
|
ALDDQU
|
|
ALDMXCSR
|
|
AMASKMOVOU
|
|
AMASKMOVQ
|
|
AMAXPD
|
|
AMAXPS
|
|
AMAXSD
|
|
AMAXSS
|
|
AMINPD
|
|
AMINPS
|
|
AMINSD
|
|
AMINSS
|
|
AMOVAPD
|
|
AMOVAPS
|
|
AMOVOU
|
|
AMOVHLPS
|
|
AMOVHPD
|
|
AMOVHPS
|
|
AMOVLHPS
|
|
AMOVLPD
|
|
AMOVLPS
|
|
AMOVMSKPD
|
|
AMOVMSKPS
|
|
AMOVNTO
|
|
AMOVNTPD
|
|
AMOVNTPS
|
|
AMOVNTQ
|
|
AMOVO
|
|
AMOVQOZX
|
|
AMOVSD
|
|
AMOVSS
|
|
AMOVUPD
|
|
AMOVUPS
|
|
AMULPD
|
|
AMULPS
|
|
AMULSD
|
|
AMULSS
|
|
AMULXL
|
|
AMULXQ
|
|
AORPD
|
|
AORPS
|
|
APACKSSLW
|
|
APACKSSWB
|
|
APACKUSWB
|
|
APADDB
|
|
APADDL
|
|
APADDQ
|
|
APADDSB
|
|
APADDSW
|
|
APADDUSB
|
|
APADDUSW
|
|
APADDW
|
|
APAND
|
|
APANDN
|
|
APAVGB
|
|
APAVGW
|
|
APCMPEQB
|
|
APCMPEQL
|
|
APCMPEQW
|
|
APCMPGTB
|
|
APCMPGTL
|
|
APCMPGTW
|
|
APDEPL
|
|
APDEPQ
|
|
APEXTL
|
|
APEXTQ
|
|
APEXTRB
|
|
APEXTRD
|
|
APEXTRQ
|
|
APEXTRW
|
|
APHADDD
|
|
APHADDSW
|
|
APHADDW
|
|
APHMINPOSUW
|
|
APHSUBD
|
|
APHSUBSW
|
|
APHSUBW
|
|
APINSRB
|
|
APINSRD
|
|
APINSRQ
|
|
APINSRW
|
|
APMADDWL
|
|
APMAXSW
|
|
APMAXUB
|
|
APMINSW
|
|
APMINUB
|
|
APMOVMSKB
|
|
APMOVSXBD
|
|
APMOVSXBQ
|
|
APMOVSXBW
|
|
APMOVSXDQ
|
|
APMOVSXWD
|
|
APMOVSXWQ
|
|
APMOVZXBD
|
|
APMOVZXBQ
|
|
APMOVZXBW
|
|
APMOVZXDQ
|
|
APMOVZXWD
|
|
APMOVZXWQ
|
|
APMULDQ
|
|
APMULHUW
|
|
APMULHW
|
|
APMULLD
|
|
APMULLW
|
|
APMULULQ
|
|
APOR
|
|
APSADBW
|
|
APSHUFB
|
|
APSHUFHW
|
|
APSHUFL
|
|
APSHUFLW
|
|
APSHUFW
|
|
APSLLL
|
|
APSLLO
|
|
APSLLQ
|
|
APSLLW
|
|
APSRAL
|
|
APSRAW
|
|
APSRLL
|
|
APSRLO
|
|
APSRLQ
|
|
APSRLW
|
|
APSUBB
|
|
APSUBL
|
|
APSUBQ
|
|
APSUBSB
|
|
APSUBSW
|
|
APSUBUSB
|
|
APSUBUSW
|
|
APSUBW
|
|
APUNPCKHBW
|
|
APUNPCKHLQ
|
|
APUNPCKHQDQ
|
|
APUNPCKHWL
|
|
APUNPCKLBW
|
|
APUNPCKLLQ
|
|
APUNPCKLQDQ
|
|
APUNPCKLWL
|
|
APXOR
|
|
ARCPPS
|
|
ARCPSS
|
|
ARSQRTPS
|
|
ARSQRTSS
|
|
ASARXL
|
|
ASARXQ
|
|
ASHLXL
|
|
ASHLXQ
|
|
ASHRXL
|
|
ASHRXQ
|
|
ASHUFPD
|
|
ASHUFPS
|
|
ASQRTPD
|
|
ASQRTPS
|
|
ASQRTSD
|
|
ASQRTSS
|
|
ASTMXCSR
|
|
ASUBPD
|
|
ASUBPS
|
|
ASUBSD
|
|
ASUBSS
|
|
AUCOMISD
|
|
AUCOMISS
|
|
AUNPCKHPD
|
|
AUNPCKHPS
|
|
AUNPCKLPD
|
|
AUNPCKLPS
|
|
AXORPD
|
|
AXORPS
|
|
APCMPESTRI
|
|
|
|
ARETFW
|
|
ARETFL
|
|
ARETFQ
|
|
ASWAPGS
|
|
|
|
AMODE
|
|
ACRC32B
|
|
ACRC32Q
|
|
AIMUL3Q
|
|
|
|
APREFETCHT0
|
|
APREFETCHT1
|
|
APREFETCHT2
|
|
APREFETCHNTA
|
|
|
|
AMOVQL
|
|
ABSWAPL
|
|
ABSWAPQ
|
|
|
|
AAESENC
|
|
AAESENCLAST
|
|
AAESDEC
|
|
AAESDECLAST
|
|
AAESIMC
|
|
AAESKEYGENASSIST
|
|
|
|
AROUNDPS
|
|
AROUNDSS
|
|
AROUNDPD
|
|
AROUNDSD
|
|
AMOVDDUP
|
|
AMOVSHDUP
|
|
AMOVSLDUP
|
|
|
|
APSHUFD
|
|
APCLMULQDQ
|
|
|
|
AVZEROUPPER
|
|
AVMOVDQU
|
|
AVMOVNTDQ
|
|
AVMOVDQA
|
|
AVPCMPEQB
|
|
AVPXOR
|
|
AVPMOVMSKB
|
|
AVPAND
|
|
AVPTEST
|
|
AVPBROADCASTB
|
|
AVPSHUFB
|
|
AVPSHUFD
|
|
AVPERM2F128
|
|
AVPALIGNR
|
|
AVPADDQ
|
|
AVPADDD
|
|
AVPSRLDQ
|
|
AVPSLLDQ
|
|
AVPSRLQ
|
|
AVPSLLQ
|
|
AVPSRLD
|
|
AVPSLLD
|
|
AVPOR
|
|
AVPBLENDD
|
|
AVINSERTI128
|
|
AVPERM2I128
|
|
ARORXL
|
|
ARORXQ
|
|
AVBROADCASTSS
|
|
AVBROADCASTSD
|
|
AVMOVDDUP
|
|
AVMOVSHDUP
|
|
AVMOVSLDUP
|
|
|
|
// from 386
|
|
AJCXZW
|
|
AFCMOVCC
|
|
AFCMOVCS
|
|
AFCMOVEQ
|
|
AFCMOVHI
|
|
AFCMOVLS
|
|
AFCMOVNE
|
|
AFCMOVNU
|
|
AFCMOVUN
|
|
AFCOMI
|
|
AFCOMIP
|
|
AFUCOMI
|
|
AFUCOMIP
|
|
|
|
// TSX
|
|
AXACQUIRE
|
|
AXRELEASE
|
|
AXBEGIN
|
|
AXEND
|
|
AXABORT
|
|
AXTEST
|
|
|
|
ALAST
|
|
)
|
|
|
|
const (
|
|
REG_NONE = 0
|
|
)
|
|
|
|
const (
|
|
REG_AL = obj.RBaseAMD64 + iota
|
|
REG_CL
|
|
REG_DL
|
|
REG_BL
|
|
REG_SPB
|
|
REG_BPB
|
|
REG_SIB
|
|
REG_DIB
|
|
REG_R8B
|
|
REG_R9B
|
|
REG_R10B
|
|
REG_R11B
|
|
REG_R12B
|
|
REG_R13B
|
|
REG_R14B
|
|
REG_R15B
|
|
|
|
REG_AX
|
|
REG_CX
|
|
REG_DX
|
|
REG_BX
|
|
REG_SP
|
|
REG_BP
|
|
REG_SI
|
|
REG_DI
|
|
REG_R8
|
|
REG_R9
|
|
REG_R10
|
|
REG_R11
|
|
REG_R12
|
|
REG_R13
|
|
REG_R14
|
|
REG_R15
|
|
|
|
REG_AH
|
|
REG_CH
|
|
REG_DH
|
|
REG_BH
|
|
|
|
REG_F0
|
|
REG_F1
|
|
REG_F2
|
|
REG_F3
|
|
REG_F4
|
|
REG_F5
|
|
REG_F6
|
|
REG_F7
|
|
|
|
REG_M0
|
|
REG_M1
|
|
REG_M2
|
|
REG_M3
|
|
REG_M4
|
|
REG_M5
|
|
REG_M6
|
|
REG_M7
|
|
|
|
REG_X0
|
|
REG_X1
|
|
REG_X2
|
|
REG_X3
|
|
REG_X4
|
|
REG_X5
|
|
REG_X6
|
|
REG_X7
|
|
REG_X8
|
|
REG_X9
|
|
REG_X10
|
|
REG_X11
|
|
REG_X12
|
|
REG_X13
|
|
REG_X14
|
|
REG_X15
|
|
|
|
REG_Y0
|
|
REG_Y1
|
|
REG_Y2
|
|
REG_Y3
|
|
REG_Y4
|
|
REG_Y5
|
|
REG_Y6
|
|
REG_Y7
|
|
REG_Y8
|
|
REG_Y9
|
|
REG_Y10
|
|
REG_Y11
|
|
REG_Y12
|
|
REG_Y13
|
|
REG_Y14
|
|
REG_Y15
|
|
|
|
REG_CS
|
|
REG_SS
|
|
REG_DS
|
|
REG_ES
|
|
REG_FS
|
|
REG_GS
|
|
|
|
REG_GDTR /* global descriptor table register */
|
|
REG_IDTR /* interrupt descriptor table register */
|
|
REG_LDTR /* local descriptor table register */
|
|
REG_MSW /* machine status word */
|
|
REG_TASK /* task register */
|
|
|
|
REG_CR0
|
|
REG_CR1
|
|
REG_CR2
|
|
REG_CR3
|
|
REG_CR4
|
|
REG_CR5
|
|
REG_CR6
|
|
REG_CR7
|
|
REG_CR8
|
|
REG_CR9
|
|
REG_CR10
|
|
REG_CR11
|
|
REG_CR12
|
|
REG_CR13
|
|
REG_CR14
|
|
REG_CR15
|
|
|
|
REG_DR0
|
|
REG_DR1
|
|
REG_DR2
|
|
REG_DR3
|
|
REG_DR4
|
|
REG_DR5
|
|
REG_DR6
|
|
REG_DR7
|
|
|
|
REG_TR0
|
|
REG_TR1
|
|
REG_TR2
|
|
REG_TR3
|
|
REG_TR4
|
|
REG_TR5
|
|
REG_TR6
|
|
REG_TR7
|
|
|
|
REG_TLS
|
|
|
|
MAXREG
|
|
|
|
REG_CR = REG_CR0
|
|
REG_DR = REG_DR0
|
|
REG_TR = REG_TR0
|
|
|
|
REGARG = -1
|
|
REGRET = REG_AX
|
|
FREGRET = REG_X0
|
|
REGSP = REG_SP
|
|
REGCTXT = REG_DX
|
|
REGEXT = REG_R15 /* compiler allocates external registers R15 down */
|
|
FREGMIN = REG_X0 + 5 /* first register variable */
|
|
FREGEXT = REG_X0 + 15 /* first external register */
|
|
T_TYPE = 1 << 0
|
|
T_INDEX = 1 << 1
|
|
T_OFFSET = 1 << 2
|
|
T_FCONST = 1 << 3
|
|
T_SYM = 1 << 4
|
|
T_SCONST = 1 << 5
|
|
T_64 = 1 << 6
|
|
T_GOTYPE = 1 << 7
|
|
)
|