1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033 |
- package arm64
- import "github.com/twitchyliquid64/golang-asm/obj"
- const (
- NSNAME = 8
- NSYM = 50
- NREG = 32
- NFREG = 32
- )
- const (
-
- REG_R0 = obj.RBaseARM64 + iota
- REG_R1
- REG_R2
- REG_R3
- REG_R4
- REG_R5
- REG_R6
- REG_R7
- REG_R8
- REG_R9
- REG_R10
- REG_R11
- REG_R12
- REG_R13
- REG_R14
- REG_R15
- REG_R16
- REG_R17
- REG_R18
- REG_R19
- REG_R20
- REG_R21
- REG_R22
- REG_R23
- REG_R24
- REG_R25
- REG_R26
- REG_R27
- REG_R28
- REG_R29
- REG_R30
- REG_R31
-
- REG_F0
- REG_F1
- REG_F2
- REG_F3
- REG_F4
- REG_F5
- REG_F6
- REG_F7
- REG_F8
- REG_F9
- REG_F10
- REG_F11
- REG_F12
- REG_F13
- REG_F14
- REG_F15
- REG_F16
- REG_F17
- REG_F18
- REG_F19
- REG_F20
- REG_F21
- REG_F22
- REG_F23
- REG_F24
- REG_F25
- REG_F26
- REG_F27
- REG_F28
- REG_F29
- REG_F30
- REG_F31
-
- REG_V0
- REG_V1
- REG_V2
- REG_V3
- REG_V4
- REG_V5
- REG_V6
- REG_V7
- REG_V8
- REG_V9
- REG_V10
- REG_V11
- REG_V12
- REG_V13
- REG_V14
- REG_V15
- REG_V16
- REG_V17
- REG_V18
- REG_V19
- REG_V20
- REG_V21
- REG_V22
- REG_V23
- REG_V24
- REG_V25
- REG_V26
- REG_V27
- REG_V28
- REG_V29
- REG_V30
- REG_V31
-
-
-
- COND_EQ
- COND_NE
- COND_HS
- COND_LO
- COND_MI
- COND_PL
- COND_VS
- COND_VC
- COND_HI
- COND_LS
- COND_GE
- COND_LT
- COND_GT
- COND_LE
- COND_AL
- COND_NV
- REG_RSP = REG_V31 + 32
- )
- const (
- REG_ARNG = obj.RBaseARM64 + 1<<10 + iota<<9
- REG_ELEM
- REG_ELEM_END
- )
- const REG_LSL = obj.RBaseARM64 + 1<<9
- const REG_EXT = obj.RBaseARM64 + 1<<11
- const (
- REG_UXTB = REG_EXT + iota<<8
- REG_UXTH
- REG_UXTW
- REG_UXTX
- REG_SXTB
- REG_SXTH
- REG_SXTW
- REG_SXTX
- )
- const (
- REG_SPECIAL = obj.RBaseARM64 + 1<<12
- REG_DAIFSet = SYSREG_END + iota
- REG_DAIFClr
- REG_PLDL1KEEP
- REG_PLDL1STRM
- REG_PLDL2KEEP
- REG_PLDL2STRM
- REG_PLDL3KEEP
- REG_PLDL3STRM
- REG_PLIL1KEEP
- REG_PLIL1STRM
- REG_PLIL2KEEP
- REG_PLIL2STRM
- REG_PLIL3KEEP
- REG_PLIL3STRM
- REG_PSTL1KEEP
- REG_PSTL1STRM
- REG_PSTL2KEEP
- REG_PSTL2STRM
- REG_PSTL3KEEP
- REG_PSTL3STRM
- )
- const (
- REGMIN = REG_R7
- REGRT1 = REG_R16
- REGRT2 = REG_R17
- REGPR = REG_R18
- REGMAX = REG_R25
- REGCTXT = REG_R26
- REGTMP = REG_R27
- REGG = REG_R28
- REGFP = REG_R29
- REGLINK = REG_R30
-
-
-
- REGZERO = REG_R31
- REGSP = REG_RSP
- FREGRET = REG_F0
- FREGMIN = REG_F7
- FREGMAX = REG_F26
- FREGEXT = REG_F26
- )
- var ARM64DWARFRegisters = map[int16]int16{
- REG_R0: 0,
- REG_R1: 1,
- REG_R2: 2,
- REG_R3: 3,
- REG_R4: 4,
- REG_R5: 5,
- REG_R6: 6,
- REG_R7: 7,
- REG_R8: 8,
- REG_R9: 9,
- REG_R10: 10,
- REG_R11: 11,
- REG_R12: 12,
- REG_R13: 13,
- REG_R14: 14,
- REG_R15: 15,
- REG_R16: 16,
- REG_R17: 17,
- REG_R18: 18,
- REG_R19: 19,
- REG_R20: 20,
- REG_R21: 21,
- REG_R22: 22,
- REG_R23: 23,
- REG_R24: 24,
- REG_R25: 25,
- REG_R26: 26,
- REG_R27: 27,
- REG_R28: 28,
- REG_R29: 29,
- REG_R30: 30,
-
- REG_F0: 64,
- REG_F1: 65,
- REG_F2: 66,
- REG_F3: 67,
- REG_F4: 68,
- REG_F5: 69,
- REG_F6: 70,
- REG_F7: 71,
- REG_F8: 72,
- REG_F9: 73,
- REG_F10: 74,
- REG_F11: 75,
- REG_F12: 76,
- REG_F13: 77,
- REG_F14: 78,
- REG_F15: 79,
- REG_F16: 80,
- REG_F17: 81,
- REG_F18: 82,
- REG_F19: 83,
- REG_F20: 84,
- REG_F21: 85,
- REG_F22: 86,
- REG_F23: 87,
- REG_F24: 88,
- REG_F25: 89,
- REG_F26: 90,
- REG_F27: 91,
- REG_F28: 92,
- REG_F29: 93,
- REG_F30: 94,
- REG_F31: 95,
-
- REG_V0: 64,
- REG_V1: 65,
- REG_V2: 66,
- REG_V3: 67,
- REG_V4: 68,
- REG_V5: 69,
- REG_V6: 70,
- REG_V7: 71,
- REG_V8: 72,
- REG_V9: 73,
- REG_V10: 74,
- REG_V11: 75,
- REG_V12: 76,
- REG_V13: 77,
- REG_V14: 78,
- REG_V15: 79,
- REG_V16: 80,
- REG_V17: 81,
- REG_V18: 82,
- REG_V19: 83,
- REG_V20: 84,
- REG_V21: 85,
- REG_V22: 86,
- REG_V23: 87,
- REG_V24: 88,
- REG_V25: 89,
- REG_V26: 90,
- REG_V27: 91,
- REG_V28: 92,
- REG_V29: 93,
- REG_V30: 94,
- REG_V31: 95,
- }
- const (
- BIG = 2048 - 8
- )
- const (
-
- LABEL = 1 << iota
- LEAF
- FLOAT
- BRANCH
- LOAD
- FCMP
- SYNC
- LIST
- FOLL
- NOSCHED
- )
- const (
-
-
-
- C_NONE = iota
- C_REG
- C_RSP
- C_FREG
- C_VREG
- C_PAIR
- C_SHIFT
- C_EXTREG
- C_SPR
- C_COND
- C_ARNG
- C_ELEM
- C_LIST
- C_ZCON
- C_ABCON0
- C_ADDCON0
- C_ABCON
- C_AMCON
- C_ADDCON
- C_MBCON
- C_MOVCON
- C_BITCON
- C_ADDCON2
- C_LCON
- C_MOVCON2
- C_MOVCON3
- C_VCON
- C_FCON
- C_VCONADDR
- C_AACON
- C_AACON2
- C_LACON
- C_AECON
-
- C_SBRA
- C_LBRA
- C_ZAUTO
- C_NSAUTO_8
- C_NSAUTO_4
- C_NSAUTO
- C_NPAUTO
- C_NAUTO4K
- C_PSAUTO_8
- C_PSAUTO_4
- C_PSAUTO
- C_PPAUTO
- C_UAUTO4K_8
- C_UAUTO4K_4
- C_UAUTO4K_2
- C_UAUTO4K
- C_UAUTO8K_8
- C_UAUTO8K_4
- C_UAUTO8K
- C_UAUTO16K_8
- C_UAUTO16K
- C_UAUTO32K
- C_LAUTO
- C_SEXT1
- C_SEXT2
- C_SEXT4
- C_SEXT8
- C_SEXT16
- C_LEXT
- C_ZOREG
- C_NSOREG_8
- C_NSOREG_4
- C_NSOREG
- C_NPOREG
- C_NOREG4K
- C_PSOREG_8
- C_PSOREG_4
- C_PSOREG
- C_PPOREG
- C_UOREG4K_8
- C_UOREG4K_4
- C_UOREG4K_2
- C_UOREG4K
- C_UOREG8K_8
- C_UOREG8K_4
- C_UOREG8K
- C_UOREG16K_8
- C_UOREG16K
- C_UOREG32K
- C_LOREG
- C_ADDR
-
- C_GOTADDR
-
-
- C_TLS_LE
-
-
-
- C_TLS_IE
- C_ROFF
- C_GOK
- C_TEXTSIZE
- C_NCLASS
- )
- const (
- C_XPRE = 1 << 6
- C_XPOST = 1 << 5
- )
- const (
- AADC = obj.ABaseARM64 + obj.A_ARCHSPECIFIC + iota
- AADCS
- AADCSW
- AADCW
- AADD
- AADDS
- AADDSW
- AADDW
- AADR
- AADRP
- AAND
- AANDS
- AANDSW
- AANDW
- AASR
- AASRW
- AAT
- ABFI
- ABFIW
- ABFM
- ABFMW
- ABFXIL
- ABFXILW
- ABIC
- ABICS
- ABICSW
- ABICW
- ABRK
- ACBNZ
- ACBNZW
- ACBZ
- ACBZW
- ACCMN
- ACCMNW
- ACCMP
- ACCMPW
- ACINC
- ACINCW
- ACINV
- ACINVW
- ACLREX
- ACLS
- ACLSW
- ACLZ
- ACLZW
- ACMN
- ACMNW
- ACMP
- ACMPW
- ACNEG
- ACNEGW
- ACRC32B
- ACRC32CB
- ACRC32CH
- ACRC32CW
- ACRC32CX
- ACRC32H
- ACRC32W
- ACRC32X
- ACSEL
- ACSELW
- ACSET
- ACSETM
- ACSETMW
- ACSETW
- ACSINC
- ACSINCW
- ACSINV
- ACSINVW
- ACSNEG
- ACSNEGW
- ADC
- ADCPS1
- ADCPS2
- ADCPS3
- ADMB
- ADRPS
- ADSB
- AEON
- AEONW
- AEOR
- AEORW
- AERET
- AEXTR
- AEXTRW
- AHINT
- AHLT
- AHVC
- AIC
- AISB
- ALDADDAB
- ALDADDAD
- ALDADDAH
- ALDADDAW
- ALDADDALB
- ALDADDALD
- ALDADDALH
- ALDADDALW
- ALDADDB
- ALDADDD
- ALDADDH
- ALDADDW
- ALDADDLB
- ALDADDLD
- ALDADDLH
- ALDADDLW
- ALDANDAB
- ALDANDAD
- ALDANDAH
- ALDANDAW
- ALDANDALB
- ALDANDALD
- ALDANDALH
- ALDANDALW
- ALDANDB
- ALDANDD
- ALDANDH
- ALDANDW
- ALDANDLB
- ALDANDLD
- ALDANDLH
- ALDANDLW
- ALDAR
- ALDARB
- ALDARH
- ALDARW
- ALDAXP
- ALDAXPW
- ALDAXR
- ALDAXRB
- ALDAXRH
- ALDAXRW
- ALDEORAB
- ALDEORAD
- ALDEORAH
- ALDEORAW
- ALDEORALB
- ALDEORALD
- ALDEORALH
- ALDEORALW
- ALDEORB
- ALDEORD
- ALDEORH
- ALDEORW
- ALDEORLB
- ALDEORLD
- ALDEORLH
- ALDEORLW
- ALDORAB
- ALDORAD
- ALDORAH
- ALDORAW
- ALDORALB
- ALDORALD
- ALDORALH
- ALDORALW
- ALDORB
- ALDORD
- ALDORH
- ALDORW
- ALDORLB
- ALDORLD
- ALDORLH
- ALDORLW
- ALDP
- ALDPW
- ALDPSW
- ALDXR
- ALDXRB
- ALDXRH
- ALDXRW
- ALDXP
- ALDXPW
- ALSL
- ALSLW
- ALSR
- ALSRW
- AMADD
- AMADDW
- AMNEG
- AMNEGW
- AMOVK
- AMOVKW
- AMOVN
- AMOVNW
- AMOVZ
- AMOVZW
- AMRS
- AMSR
- AMSUB
- AMSUBW
- AMUL
- AMULW
- AMVN
- AMVNW
- ANEG
- ANEGS
- ANEGSW
- ANEGW
- ANGC
- ANGCS
- ANGCSW
- ANGCW
- ANOOP
- AORN
- AORNW
- AORR
- AORRW
- APRFM
- APRFUM
- ARBIT
- ARBITW
- AREM
- AREMW
- AREV
- AREV16
- AREV16W
- AREV32
- AREVW
- AROR
- ARORW
- ASBC
- ASBCS
- ASBCSW
- ASBCW
- ASBFIZ
- ASBFIZW
- ASBFM
- ASBFMW
- ASBFX
- ASBFXW
- ASDIV
- ASDIVW
- ASEV
- ASEVL
- ASMADDL
- ASMC
- ASMNEGL
- ASMSUBL
- ASMULH
- ASMULL
- ASTXR
- ASTXRB
- ASTXRH
- ASTXP
- ASTXPW
- ASTXRW
- ASTLP
- ASTLPW
- ASTLR
- ASTLRB
- ASTLRH
- ASTLRW
- ASTLXP
- ASTLXPW
- ASTLXR
- ASTLXRB
- ASTLXRH
- ASTLXRW
- ASTP
- ASTPW
- ASUB
- ASUBS
- ASUBSW
- ASUBW
- ASVC
- ASXTB
- ASXTBW
- ASXTH
- ASXTHW
- ASXTW
- ASYS
- ASYSL
- ATBNZ
- ATBZ
- ATLBI
- ATST
- ATSTW
- AUBFIZ
- AUBFIZW
- AUBFM
- AUBFMW
- AUBFX
- AUBFXW
- AUDIV
- AUDIVW
- AUMADDL
- AUMNEGL
- AUMSUBL
- AUMULH
- AUMULL
- AUREM
- AUREMW
- AUXTB
- AUXTH
- AUXTW
- AUXTBW
- AUXTHW
- AWFE
- AWFI
- AYIELD
- AMOVB
- AMOVBU
- AMOVH
- AMOVHU
- AMOVW
- AMOVWU
- AMOVD
- AMOVNP
- AMOVNPW
- AMOVP
- AMOVPD
- AMOVPQ
- AMOVPS
- AMOVPSW
- AMOVPW
- ASWPAD
- ASWPAW
- ASWPAH
- ASWPAB
- ASWPALD
- ASWPALW
- ASWPALH
- ASWPALB
- ASWPD
- ASWPW
- ASWPH
- ASWPB
- ASWPLD
- ASWPLW
- ASWPLH
- ASWPLB
- ABEQ
- ABNE
- ABCS
- ABHS
- ABCC
- ABLO
- ABMI
- ABPL
- ABVS
- ABVC
- ABHI
- ABLS
- ABGE
- ABLT
- ABGT
- ABLE
- AFABSD
- AFABSS
- AFADDD
- AFADDS
- AFCCMPD
- AFCCMPED
- AFCCMPS
- AFCCMPES
- AFCMPD
- AFCMPED
- AFCMPES
- AFCMPS
- AFCVTSD
- AFCVTDS
- AFCVTZSD
- AFCVTZSDW
- AFCVTZSS
- AFCVTZSSW
- AFCVTZUD
- AFCVTZUDW
- AFCVTZUS
- AFCVTZUSW
- AFDIVD
- AFDIVS
- AFLDPD
- AFLDPS
- AFMOVD
- AFMOVS
- AFMOVQ
- AFMULD
- AFMULS
- AFNEGD
- AFNEGS
- AFSQRTD
- AFSQRTS
- AFSTPD
- AFSTPS
- AFSUBD
- AFSUBS
- ASCVTFD
- ASCVTFS
- ASCVTFWD
- ASCVTFWS
- AUCVTFD
- AUCVTFS
- AUCVTFWD
- AUCVTFWS
- AWORD
- ADWORD
- AFCSELS
- AFCSELD
- AFMAXS
- AFMINS
- AFMAXD
- AFMIND
- AFMAXNMS
- AFMAXNMD
- AFNMULS
- AFNMULD
- AFRINTNS
- AFRINTND
- AFRINTPS
- AFRINTPD
- AFRINTMS
- AFRINTMD
- AFRINTZS
- AFRINTZD
- AFRINTAS
- AFRINTAD
- AFRINTXS
- AFRINTXD
- AFRINTIS
- AFRINTID
- AFMADDS
- AFMADDD
- AFMSUBS
- AFMSUBD
- AFNMADDS
- AFNMADDD
- AFNMSUBS
- AFNMSUBD
- AFMINNMS
- AFMINNMD
- AFCVTDH
- AFCVTHS
- AFCVTHD
- AFCVTSH
- AAESD
- AAESE
- AAESIMC
- AAESMC
- ASHA1C
- ASHA1H
- ASHA1M
- ASHA1P
- ASHA1SU0
- ASHA1SU1
- ASHA256H
- ASHA256H2
- ASHA256SU0
- ASHA256SU1
- ASHA512H
- ASHA512H2
- ASHA512SU0
- ASHA512SU1
- AVADD
- AVADDP
- AVAND
- AVBIF
- AVCMEQ
- AVCNT
- AVEOR
- AVMOV
- AVLD1
- AVLD2
- AVLD3
- AVLD4
- AVLD1R
- AVLD2R
- AVLD3R
- AVLD4R
- AVORR
- AVREV16
- AVREV32
- AVREV64
- AVST1
- AVST2
- AVST3
- AVST4
- AVDUP
- AVADDV
- AVMOVI
- AVUADDLV
- AVSUB
- AVFMLA
- AVFMLS
- AVPMULL
- AVPMULL2
- AVEXT
- AVRBIT
- AVUSHR
- AVUSHLL
- AVUSHLL2
- AVUXTL
- AVUXTL2
- AVUZP1
- AVUZP2
- AVSHL
- AVSRI
- AVBSL
- AVBIT
- AVTBL
- AVZIP1
- AVZIP2
- AVCMTST
- ALAST
- AB = obj.AJMP
- ABL = obj.ACALL
- )
- const (
-
- SHIFT_LL = 0 << 22
- SHIFT_LR = 1 << 22
- SHIFT_AR = 2 << 22
- )
- const (
-
- ARNG_8B = iota
- ARNG_16B
- ARNG_1D
- ARNG_4H
- ARNG_8H
- ARNG_2S
- ARNG_4S
- ARNG_2D
- ARNG_1Q
- ARNG_B
- ARNG_H
- ARNG_S
- ARNG_D
- )
|