Imports #
"encoding/binary"
"fmt"
"strings"
"fmt"
"strings"
"fmt"
"io"
"sort"
"strings"
"encoding/binary"
"fmt"
"strings"
"fmt"
"strings"
"fmt"
"io"
"sort"
"strings"
const ABS
const ADC
const ADCS
const ADD
const ADDHN
const ADDHN2
const ADDP
const ADDS
const ADDV
const ADR
const ADRP
const AESD
const AESE
const AESIMC
const AESMC
const AND
const ANDS
const ASR
const ASRV
const AT
const AddrOffset
const AddrPostIndex
const AddrPostReg
const AddrPreIndex
const Arrangement16B
const Arrangement1D
const Arrangement1Q
const Arrangement2D
const Arrangement2S
const Arrangement4H
const Arrangement4S
const Arrangement8B
const Arrangement8H
const ArrangementB
const ArrangementD
const ArrangementH
const ArrangementS
const B
const B0
const B1
const B10
const B11
const B12
const B13
const B14
const B15
const B16
const B17
const B18
const B19
const B2
const B20
const B21
const B22
const B23
const B24
const B25
const B26
const B27
const B28
const B29
const B3
const B30
const B31
const B4
const B5
const B6
const B7
const B8
const B9
const BFI
const BFM
const BFXIL
const BIC
const BICS
const BIF
const BIT
const BL
const BLR
const BR
const BRK
const BSL
const CBNZ
const CBZ
const CCMN
const CCMP
const CINC
const CINV
const CLREX
const CLS
const CLZ
const CMEQ
const CMGE
const CMGT
const CMHI
const CMHS
const CMLE
const CMLT
const CMN
const CMP
const CMTST
const CNEG
const CNT
const CRC32B
const CRC32CB
const CRC32CH
const CRC32CW
const CRC32CX
const CRC32H
const CRC32W
const CRC32X
const CSEL
const CSET
const CSETM
const CSINC
const CSINV
const CSNEG
const D0
const D1
const D10
const D11
const D12
const D13
const D14
const D15
const D16
const D17
const D18
const D19
const D2
const D20
const D21
const D22
const D23
const D24
const D25
const D26
const D27
const D28
const D29
const D3
const D30
const D31
const D4
const D5
const D6
const D7
const D8
const D9
const DAIFClr
const DAIFSet
const DC
const DCPS1
const DCPS2
const DCPS3
const DMB
const DRPS
const DSB
const DUP
const EON
const EOR
const ERET
const EXT
const EXTR
const FABD
const FABS
const FACGE
const FACGT
const FADD
const FADDP
const FCCMP
const FCCMPE
const FCMEQ
const FCMGE
const FCMGT
const FCMLE
const FCMLT
const FCMP
const FCMPE
const FCSEL
const FCVT
const FCVTAS
const FCVTAU
const FCVTL
const FCVTL2
const FCVTMS
const FCVTMU
const FCVTN
const FCVTN2
const FCVTNS
const FCVTNU
const FCVTPS
const FCVTPU
const FCVTXN
const FCVTXN2
const FCVTZS
const FCVTZU
const FDIV
const FMADD
const FMAX
const FMAXNM
const FMAXNMP
const FMAXNMV
const FMAXP
const FMAXV
const FMIN
const FMINNM
const FMINNMP
const FMINNMV
const FMINP
const FMINV
const FMLA
const FMLS
const FMOV
const FMSUB
const FMUL
const FMULX
const FNEG
const FNMADD
const FNMSUB
const FNMUL
const FRECPE
const FRECPS
const FRECPX
const FRINTA
const FRINTI
const FRINTM
const FRINTN
const FRINTP
const FRINTX
const FRINTZ
const FRSQRTE
const FRSQRTS
const FSQRT
const FSUB
const H0
const H1
const H10
const H11
const H12
const H13
const H14
const H15
const H16
const H17
const H18
const H19
const H2
const H20
const H21
const H22
const H23
const H24
const H25
const H26
const H27
const H28
const H29
const H3
const H30
const H31
const H4
const H5
const H6
const H7
const H8
const H9
const HINT
const HLT
const HVC
const IC
const INS
const ISB
const LD1
const LD1R
const LD2
const LD2R
const LD3
const LD3R
const LD4
const LD4R
const LDAR
const LDARB
const LDARH
const LDAXP
const LDAXR
const LDAXRB
const LDAXRH
const LDNP
const LDP
const LDPSW
const LDR
const LDRB
const LDRH
const LDRSB
const LDRSH
const LDRSW
const LDTR
const LDTRB
const LDTRH
const LDTRSB
const LDTRSH
const LDTRSW
const LDUR
const LDURB
const LDURH
const LDURSB
const LDURSH
const LDURSW
const LDXP
const LDXR
const LDXRB
const LDXRH
const LSL
const LSLV
const LSR
const LSRV
const MADD
const MLA
const MLS
const MNEG
const MOV
const MOVI
const MOVK
const MOVN
const MOVZ
const MRS
const MSR
const MSUB
const MUL
const MVN
const MVNI
const NEG
const NEGS
const NGC
const NGCS
const NOP
const NOT
const ORN
const ORR
const PMUL
const PMULL
const PMULL2
const PRFM
const PRFUM
const Q0
const Q1
const Q10
const Q11
const Q12
const Q13
const Q14
const Q15
const Q16
const Q17
const Q18
const Q19
const Q2
const Q20
const Q21
const Q22
const Q23
const Q24
const Q25
const Q26
const Q27
const Q28
const Q29
const Q3
const Q30
const Q31
const Q4
const Q5
const Q6
const Q7
const Q8
const Q9
const RADDHN
const RADDHN2
const RBIT
const RET
const REV
const REV16
const REV32
const REV64
const ROR
const RORV
const RSHRN
const RSHRN2
const RSUBHN
const RSUBHN2
const S0
const S1
const S10
const S11
const S12
const S13
const S14
const S15
const S16
const S17
const S18
const S19
const S2
const S20
const S21
const S22
const S23
const S24
const S25
const S26
const S27
const S28
const S29
const S3
const S30
const S31
const S4
const S5
const S6
const S7
const S8
const S9
const SABA
const SABAL
const SABAL2
const SABD
const SABDL
const SABDL2
const SADALP
const SADDL
const SADDL2
const SADDLP
const SADDLV
const SADDW
const SADDW2
const SBC
const SBCS
const SBFIZ
const SBFM
const SBFX
const SCVTF
const SDIV
const SEV
const SEVL
const SHA1C
const SHA1H
const SHA1M
const SHA1P
const SHA1SU0
const SHA1SU1
const SHA256H
const SHA256H2
const SHA256SU0
const SHA256SU1
const SHADD
const SHL
const SHLL
const SHLL2
const SHRN
const SHRN2
const SHSUB
const SLI
const SMADDL
const SMAX
const SMAXP
const SMAXV
const SMC
const SMIN
const SMINP
const SMINV
const SMLAL
const SMLAL2
const SMLSL
const SMLSL2
const SMNEGL
const SMOV
const SMSUBL
const SMULH
const SMULL
const SMULL2
const SP = XZR
const SPSel Pstatefield = iota
const SQABS
const SQADD
const SQDMLAL
const SQDMLAL2
const SQDMLSL
const SQDMLSL2
const SQDMULH
const SQDMULL
const SQDMULL2
const SQNEG
const SQRDMULH
const SQRSHL
const SQRSHRN
const SQRSHRN2
const SQRSHRUN
const SQRSHRUN2
const SQSHL
const SQSHLU
const SQSHRN
const SQSHRN2
const SQSHRUN
const SQSHRUN2
const SQSUB
const SQXTN
const SQXTN2
const SQXTUN
const SQXTUN2
const SRHADD
const SRI
const SRSHL
const SRSHR
const SRSRA
const SSHL
const SSHLL
const SSHLL2
const SSHR
const SSRA
const SSUBL
const SSUBL2
const SSUBW
const SSUBW2
const ST1
const ST2
const ST3
const ST4
const STLR
const STLRB
const STLRH
const STLXP
const STLXR
const STLXRB
const STLXRH
const STNP
const STP
const STR
const STRB
const STRH
const STTR
const STTRB
const STTRH
const STUR
const STURB
const STURH
const STXP
const STXR
const STXRB
const STXRH
const SUB
const SUBHN
const SUBHN2
const SUBS
const SUQADD
const SVC
const SXTB
const SXTH
const SXTL
const SXTL2
const SXTW
const SYS
const SYSL
const TBL
const TBNZ
const TBX
const TBZ
const TLBI
const TRN1
const TRN2
const TST
const UABA
const UABAL
const UABAL2
const UABD
const UABDL
const UABDL2
const UADALP
const UADDL
const UADDL2
const UADDLP
const UADDLV
const UADDW
const UADDW2
const UBFIZ
const UBFM
const UBFX
const UCVTF
const UDIV
const UHADD
const UHSUB
const UMADDL
const UMAX
const UMAXP
const UMAXV
const UMIN
const UMINP
const UMINV
const UMLAL
const UMLAL2
const UMLSL
const UMLSL2
const UMNEGL
const UMOV
const UMSUBL
const UMULH
const UMULL
const UMULL2
const UQADD
const UQRSHL
const UQRSHRN
const UQRSHRN2
const UQSHL
const UQSHRN
const UQSHRN2
const UQSUB
const UQXTN
const UQXTN2
const URECPE
const URHADD
const URSHL
const URSHR
const URSQRTE
const URSRA
const USHL
const USHLL
const USHLL2
const USHR
const USQADD
const USRA
const USUBL
const USUBL2
const USUBW
const USUBW2
const UXTB
const UXTH
const UXTL
const UXTL2
const UZP1
const UZP2
const V0
const V1
const V10
const V11
const V12
const V13
const V14
const V15
const V16
const V17
const V18
const V19
const V2
const V20
const V21
const V22
const V23
const V24
const V25
const V26
const V27
const V28
const V29
const V3
const V30
const V31
const V4
const V5
const V6
const V7
const V8
const V9
const W0 Reg = iota
const W1
const W10
const W11
const W12
const W13
const W14
const W15
const W16
const W17
const W18
const W19
const W2
const W20
const W21
const W22
const W23
const W24
const W25
const W26
const W27
const W28
const W29
const W3
const W30
const W4
const W5
const W6
const W7
const W8
const W9
const WFE
const WFI
const WSP = WZR
const WZR
const X0
const X1
const X10
const X11
const X12
const X13
const X14
const X15
const X16
const X17
const X18
const X19
const X2
const X20
const X21
const X22
const X23
const X24
const X25
const X26
const X27
const X28
const X29
const X3
const X30
const X4
const X5
const X6
const X7
const X8
const X9
const XTN
const XTN2
const XZR
const YIELD
const ZIP1
const ZIP2
const _ Arrangement = iota
const _ AddrMode = iota
const _ ExtShift = iota
const _ instArg = iota
const _ Op = iota
const arg_Bt
const arg_Cm
const arg_Cn
const arg_Da
const arg_Dd
const arg_Dm
const arg_Dn
const arg_Dt
const arg_Dt2
const arg_Hd
const arg_Hn
const arg_Ht
const arg_IAddSub
const arg_Qd
const arg_Qn
const arg_Qt
const arg_Qt2
const arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4
const arg_Rn_16_5__W_1__W_2__W_4__X_8
const arg_Rt_31_1__W_0__X_1
const arg_Sa
const arg_Sd
const arg_Sm
const arg_Sn
const arg_St
const arg_St2
const arg_Vd_16_5__B_1__H_2__S_4__D_8
const arg_Vd_19_4__B_1__H_2__S_4
const arg_Vd_19_4__B_1__H_2__S_4__D_8
const arg_Vd_19_4__D_8
const arg_Vd_19_4__S_4__D_8
const arg_Vd_22_1__S_0
const arg_Vd_22_1__S_0__D_1
const arg_Vd_22_1__S_1
const arg_Vd_22_2__B_0__H_1__S_2
const arg_Vd_22_2__B_0__H_1__S_2__D_3
const arg_Vd_22_2__D_3
const arg_Vd_22_2__H_0__S_1__D_2
const arg_Vd_22_2__H_1__S_2
const arg_Vd_22_2__S_1__D_2
const arg_Vd_arrangement_16B
const arg_Vd_arrangement_2D
const arg_Vd_arrangement_4S
const arg_Vd_arrangement_D_index__1
const arg_Vd_arrangement_Q___2S_0__4S_1
const arg_Vd_arrangement_Q___4H_0__8H_1
const arg_Vd_arrangement_Q___8B_0__16B_1
const arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11
const arg_Vd_arrangement_imm5_Q___8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81
const arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1
const arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81
const arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41
const arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81
const arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4
const arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21
const arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21
const arg_Vd_arrangement_size_Q___8B_00__16B_01
const arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11
const arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21
const arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
const arg_Vd_arrangement_size___4S_1__2D_2
const arg_Vd_arrangement_size___8H_0__1Q_3
const arg_Vd_arrangement_size___8H_0__4S_1__2D_2
const arg_Vd_arrangement_sz_Q___2S_00__4S_01
const arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11
const arg_Vd_arrangement_sz_Q___2S_10__4S_11
const arg_Vd_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11
const arg_Vd_arrangement_sz___4S_0__2D_1
const arg_Vm_22_1__S_0__D_1
const arg_Vm_22_2__B_0__H_1__S_2__D_3
const arg_Vm_22_2__D_3
const arg_Vm_22_2__H_1__S_2
const arg_Vm_arrangement_4S
const arg_Vm_arrangement_Q___8B_0__16B_1
const arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21
const arg_Vm_arrangement_size_Q___8B_00__16B_01
const arg_Vm_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31
const arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21
const arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
const arg_Vm_arrangement_size___8H_0__4S_1__2D_2
const arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1
const arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11
const arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1
const arg_Vn_19_4__B_1__H_2__S_4__D_8
const arg_Vn_19_4__D_8
const arg_Vn_19_4__H_1__S_2__D_4
const arg_Vn_19_4__S_4__D_8
const arg_Vn_1_arrangement_16B
const arg_Vn_22_1__D_1
const arg_Vn_22_1__S_0__D_1
const arg_Vn_22_2__B_0__H_1__S_2__D_3
const arg_Vn_22_2__D_3
const arg_Vn_22_2__H_0__S_1__D_2
const arg_Vn_22_2__H_1__S_2
const arg_Vn_2_arrangement_16B
const arg_Vn_3_arrangement_16B
const arg_Vn_4_arrangement_16B
const arg_Vn_arrangement_16B
const arg_Vn_arrangement_4S
const arg_Vn_arrangement_D_index__1
const arg_Vn_arrangement_D_index__imm5_1
const arg_Vn_arrangement_Q___8B_0__16B_1
const arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11
const arg_Vn_arrangement_Q_sz___4S_10
const arg_Vn_arrangement_S_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1
const arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1
const arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5_imm4__imm4lt30gt_1__imm4lt31gt_2__imm4lt32gt_4__imm4lt3gt_8_1
const arg_Vn_arrangement_imm5___B_1__H_2__S_4_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1
const arg_Vn_arrangement_imm5___B_1__H_2_index__imm5__imm5lt41gt_1__imm5lt42gt_2_1
const arg_Vn_arrangement_imm5___D_8_index__imm5_1
const arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81
const arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41
const arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81
const arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4
const arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21
const arg_Vn_arrangement_size_Q___8B_00__16B_01
const arg_Vn_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31
const arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11
const arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21
const arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
const arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21
const arg_Vn_arrangement_size___2D_3
const arg_Vn_arrangement_size___8H_0__4S_1__2D_2
const arg_Vn_arrangement_sz_Q___2S_00__4S_01
const arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11
const arg_Vn_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11
const arg_Vn_arrangement_sz___2D_1
const arg_Vn_arrangement_sz___2S_0__2D_1
const arg_Vn_arrangement_sz___4S_0__2D_1
const arg_Vt_1_arrangement_B_index__Q_S_size_1
const arg_Vt_1_arrangement_D_index__Q_1
const arg_Vt_1_arrangement_H_index__Q_S_size_1
const arg_Vt_1_arrangement_S_index__Q_S_1
const arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
const arg_Vt_2_arrangement_B_index__Q_S_size_1
const arg_Vt_2_arrangement_D_index__Q_1
const arg_Vt_2_arrangement_H_index__Q_S_size_1
const arg_Vt_2_arrangement_S_index__Q_S_1
const arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
const arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
const arg_Vt_3_arrangement_B_index__Q_S_size_1
const arg_Vt_3_arrangement_D_index__Q_1
const arg_Vt_3_arrangement_H_index__Q_S_size_1
const arg_Vt_3_arrangement_S_index__Q_S_1
const arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
const arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
const arg_Vt_4_arrangement_B_index__Q_S_size_1
const arg_Vt_4_arrangement_D_index__Q_1
const arg_Vt_4_arrangement_H_index__Q_S_size_1
const arg_Vt_4_arrangement_S_index__Q_S_1
const arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
const arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
const arg_Wa
const arg_Wd
const arg_Wds
const arg_Wm
const arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4
const arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31
const arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31
const arg_Wn
const arg_Wns
const arg_Ws
const arg_Wt
const arg_Wt2
const arg_Xa
const arg_Xd
const arg_Xds
const arg_Xm
const arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63
const arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63
const arg_Xn
const arg_Xns
const arg_Xns_mem
const arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1
const arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1
const arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1
const arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__4_1
const arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1
const arg_Xns_mem_offset
const arg_Xns_mem_optional_imm12_16_unsigned
const arg_Xns_mem_optional_imm12_1_unsigned
const arg_Xns_mem_optional_imm12_2_unsigned
const arg_Xns_mem_optional_imm12_4_unsigned
const arg_Xns_mem_optional_imm12_8_unsigned
const arg_Xns_mem_optional_imm7_16_signed
const arg_Xns_mem_optional_imm7_4_signed
const arg_Xns_mem_optional_imm7_8_signed
const arg_Xns_mem_optional_imm9_1_signed
const arg_Xns_mem_post_Q__16_0__32_1
const arg_Xns_mem_post_Q__24_0__48_1
const arg_Xns_mem_post_Q__32_0__64_1
const arg_Xns_mem_post_Q__8_0__16_1
const arg_Xns_mem_post_Xm
const arg_Xns_mem_post_fixedimm_1
const arg_Xns_mem_post_fixedimm_12
const arg_Xns_mem_post_fixedimm_16
const arg_Xns_mem_post_fixedimm_2
const arg_Xns_mem_post_fixedimm_24
const arg_Xns_mem_post_fixedimm_3
const arg_Xns_mem_post_fixedimm_32
const arg_Xns_mem_post_fixedimm_4
const arg_Xns_mem_post_fixedimm_6
const arg_Xns_mem_post_fixedimm_8
const arg_Xns_mem_post_imm7_16_signed
const arg_Xns_mem_post_imm7_4_signed
const arg_Xns_mem_post_imm7_8_signed
const arg_Xns_mem_post_imm9_1_signed
const arg_Xns_mem_post_size__1_0__2_1__4_2__8_3
const arg_Xns_mem_post_size__2_0__4_1__8_2__16_3
const arg_Xns_mem_post_size__3_0__6_1__12_2__24_3
const arg_Xns_mem_post_size__4_0__8_1__16_2__32_3
const arg_Xns_mem_wb_imm7_16_signed
const arg_Xns_mem_wb_imm7_4_signed
const arg_Xns_mem_wb_imm7_8_signed
const arg_Xns_mem_wb_imm9_1_signed
const arg_Xs
const arg_Xt
const arg_Xt2
const arg_cond_AllowALNV_Normal
const arg_cond_NotAllowALNV_Invert
const arg_conditional
const arg_immediate_0_127_CRm_op2
const arg_immediate_0_15_CRm
const arg_immediate_0_15_nzcv
const arg_immediate_0_31_imm5
const arg_immediate_0_31_immr
const arg_immediate_0_31_imms
const arg_immediate_0_63_b5_b40
const arg_immediate_0_63_immh_immb__UIntimmhimmb64_8
const arg_immediate_0_63_immr
const arg_immediate_0_63_imms
const arg_immediate_0_65535_imm16
const arg_immediate_0_7_op1
const arg_immediate_0_7_op2
const arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4
const arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8
const arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8
const arg_immediate_0_width_size__8_0__16_1__32_2
const arg_immediate_1_64_immh_immb__128UIntimmhimmb_8
const arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4
const arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4
const arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8
const arg_immediate_8x8_a_b_c_d_e_f_g_h
const arg_immediate_ASR_SBFM_32M_bitfield_0_31_immr
const arg_immediate_ASR_SBFM_64M_bitfield_0_63_immr
const arg_immediate_BFI_BFM_32M_bitfield_lsb_32_immr
const arg_immediate_BFI_BFM_32M_bitfield_width_32_imms
const arg_immediate_BFI_BFM_64M_bitfield_lsb_64_immr
const arg_immediate_BFI_BFM_64M_bitfield_width_64_imms
const arg_immediate_BFXIL_BFM_32M_bitfield_lsb_32_immr
const arg_immediate_BFXIL_BFM_32M_bitfield_width_32_imms
const arg_immediate_BFXIL_BFM_64M_bitfield_lsb_64_immr
const arg_immediate_BFXIL_BFM_64M_bitfield_width_64_imms
const arg_immediate_LSL_UBFM_32M_bitfield_0_31_immr
const arg_immediate_LSL_UBFM_64M_bitfield_0_63_immr
const arg_immediate_LSR_UBFM_32M_bitfield_0_31_immr
const arg_immediate_LSR_UBFM_64M_bitfield_0_63_immr
const arg_immediate_MSL__a_b_c_d_e_f_g_h_cmode__8_0__16_1
const arg_immediate_OptLSLZero__a_b_c_d_e_f_g_h
const arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1
const arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3
const arg_immediate_OptLSL_amount_16_0_16
const arg_immediate_OptLSL_amount_16_0_48
const arg_immediate_SBFIZ_SBFM_32M_bitfield_lsb_32_immr
const arg_immediate_SBFIZ_SBFM_32M_bitfield_width_32_imms
const arg_immediate_SBFIZ_SBFM_64M_bitfield_lsb_64_immr
const arg_immediate_SBFIZ_SBFM_64M_bitfield_width_64_imms
const arg_immediate_SBFX_SBFM_32M_bitfield_lsb_32_immr
const arg_immediate_SBFX_SBFM_32M_bitfield_width_32_imms
const arg_immediate_SBFX_SBFM_64M_bitfield_lsb_64_immr
const arg_immediate_SBFX_SBFM_64M_bitfield_width_64_imms
const arg_immediate_UBFIZ_UBFM_32M_bitfield_lsb_32_immr
const arg_immediate_UBFIZ_UBFM_32M_bitfield_width_32_imms
const arg_immediate_UBFIZ_UBFM_64M_bitfield_lsb_64_immr
const arg_immediate_UBFIZ_UBFM_64M_bitfield_width_64_imms
const arg_immediate_UBFX_UBFM_32M_bitfield_lsb_32_immr
const arg_immediate_UBFX_UBFM_32M_bitfield_width_32_imms
const arg_immediate_UBFX_UBFM_64M_bitfield_lsb_64_immr
const arg_immediate_UBFX_UBFM_64M_bitfield_width_64_imms
const arg_immediate_bitmask_32_imms_immr
const arg_immediate_bitmask_64_N_imms_immr
const arg_immediate_exp_3_pre_4_a_b_c_d_e_f_g_h
const arg_immediate_exp_3_pre_4_imm8
const arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8
const arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8
const arg_immediate_fbits_min_1_max_32_sub_64_scale
const arg_immediate_fbits_min_1_max_64_sub_64_scale
const arg_immediate_floatzero
const arg_immediate_index_Q_imm4__imm4lt20gt_00__imm4_10
const arg_immediate_optional_0_15_CRm
const arg_immediate_optional_0_65535_imm16
const arg_immediate_shift_32_implicit_imm16_hw
const arg_immediate_shift_32_implicit_inverse_imm16_hw
const arg_immediate_shift_64_implicit_imm16_hw
const arg_immediate_shift_64_implicit_inverse_imm16_hw
const arg_immediate_zero
const arg_option_DMB_BO_system_CRm
const arg_option_DSB_BO_system_CRm
const arg_option_ISB_BI_system_CRm
const arg_prfop_Rt
const arg_pstatefield_op1_op2__SPSel_05__DAIFSet_36__DAIFClr_37
const arg_slabel_imm14_2
const arg_slabel_imm19_2
const arg_slabel_imm26_2
const arg_slabel_immhi_immlo_0
const arg_slabel_immhi_immlo_12
const arg_sysop_AT_SYS_CR_system
const arg_sysop_DC_SYS_CR_system
const arg_sysop_IC_SYS_CR_system
const arg_sysop_SYS_CR_system
const arg_sysop_TLBI_SYS_CR_system
const arg_sysreg_o0_op1_CRn_CRm_op2
const asr
var decoderCover []bool
var errShort = *ast.CallExpr
var errUnknown = *ast.CallExpr
floating point instructions without "F" prefix.
var fOpsWithoutFPrefix = map[Op]bool{...}
var instFormats = [...]instFormat{...}
const lsl
const lsr
No need add "W" to opcode suffix. Opcode must be inserted in ascending order.
var noSuffixOpSet = *ast.CallExpr
var opstr = [...]string{...}
const ror
const sxtb
const sxth
const sxtw
const sxtx
var sysInstsAttrs = map[sysInstFields]sysInstAttrs{...}
const sys_AT sys = iota
const sys_DC
const sys_IC
const sys_SYS
const sys_TLBI
const uxtb
const uxth
const uxtw
const uxtx
An AddrMode is an ARM addressing mode.
type AddrMode uint8
An Args holds the instruction arguments. If an instruction has fewer than 5 arguments, the final elements in the array are nil.
type Args [5]Arg
type Arrangement uint8
type ExtShift uint8
An Imm_c is an integer constant for SYS/SYSL/TLBI instruction.
type Imm_c uint8
An Imm_clrex is an integer constant for CLREX instruction.
type Imm_clrex uint8
An Imm_dcps is an integer constant for DCPS[123] instruction.
type Imm_dcps uint16
An Imm_hint is an integer constant for HINT instruction.
type Imm_hint uint8
An Imm_option is an integer constant for DMB/DSB/ISB instruction.
type Imm_option uint8
An Imm_prfop is an integer constant for PRFM instruction.
type Imm_prfop uint8
An Op is an ARM64 opcode.
type Op uint16
A PCRel describes a memory address (usually a code label) as a distance relative to the program counter.
type PCRel int64
type Pstatefield uint8
A Reg is a single register. The zero value denotes W0, not the absence of a register.
type Reg uint16
A RegSP represent a register and X31/W31 is regarded as SP/WSP.
type RegSP Reg
type instArg uint16
type instArgs [5]instArg
type sys uint8
An Arg is a single instruction argument, one of these types: Reg, RegSP, ImmShift, RegExtshiftAmount, PCRel, MemImmediate, MemExtend, Imm, Imm64, Imm_hint, Imm_clrex, Imm_dcps, Cond, Imm_c, Imm_option, Imm_prfop, Pstatefield, Systemreg, Imm_fp RegisterWithArrangement, RegisterWithArrangementAndIndex.
type Arg interface {
isArg()
String() string
}
Standard conditions.
type Cond struct {
Value uint8
Invert bool
}
An Imm is an integer constant.
type Imm struct {
Imm uint32
Decimal bool
}
type Imm64 struct {
Imm uint64
Decimal bool
}
type ImmShift struct {
imm uint16
shift uint8
}
An Imm_fp is a signed floating-point constant.
type Imm_fp struct {
s uint8
exp int8
pre uint8
}
An Inst is a single instruction.
type Inst struct {
Op Op
Enc uint32
Args Args
}
A MemExtend is a memory reference made up of a base R and index expression X. The effective memory address is R or R+X depending on Index, Extend and Amount.
type MemExtend struct {
Base RegSP
Index Reg
Extend ExtShift
Amount uint8
ShiftMustBeZero bool
}
A MemImmediate is a memory reference made up of a base R and immediate X. The effective memory address is R or R+X depending on AddrMode.
type MemImmediate struct {
Base RegSP
Mode AddrMode
imm int32
}
type RegExtshiftAmount struct {
reg Reg
extShift ExtShift
amount uint8
show_zero bool
}
Register with arrangement:
type RegisterWithArrangement struct {
r Reg
a Arrangement
cnt uint8
}
Register with arrangement and index:
type RegisterWithArrangementAndIndex struct {
r Reg
a Arrangement
index uint8
cnt uint8
}
type Systemreg struct {
op0 uint8
op1 uint8
cn uint8
cm uint8
op2 uint8
}
An instFormat describes the format of an instruction encoding. An instruction with 32-bit value x matches the format if x&mask == value and the predicator: canDecode(x) return true.
type instFormat struct {
mask uint32
value uint32
op Op
args instArgs
canDecode func(instr uint32) bool
}
type sysInstAttrs struct {
typ sys
name string
hasOperand2 bool
}
type sysInstFields struct {
op1 uint8
cn uint8
cm uint8
op2 uint8
}
type sysOp struct {
op sysInstFields
r Reg
hasOperand2 bool
}
Decode decodes the 4 bytes in src as a single instruction.
func Decode(src []byte) (inst Inst, err error)
GNUSyntax returns the GNU assembler syntax for the instruction, as defined by GNU binutils. This form typically matches the syntax defined in the ARM Reference Manual.
func GNUSyntax(inst Inst) string
GoSyntax returns the Go assembler syntax for the instruction. The syntax was originally defined by Plan 9. The pc is the program counter of the instruction, used for expanding PC-relative addresses into absolute ones. The symname function queries the symbol table for the program being disassembled. Given a target address it returns the name and base address of the symbol containing the target, if any; otherwise it returns "", 0. The reader text should read from the text segment using text addresses as offsets; it is used to display pc-relative loads as constant loads.
func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64), text io.ReaderAt) string
func (rea RegExtshiftAmount) String() string
func (op Op) String() string
func (c Cond) String() string
func (i Imm_dcps) String() string
func (i Imm_prfop) String() string
func (i Imm) String() string
func (i Imm_clrex) String() string
func (p Pstatefield) String() string
func (i Imm_hint) String() string
func (s Systemreg) String() string
func (i Imm64) String() string
func (r RegisterWithArrangement) String() string
func (i Imm_fp) String() string
func (i Imm_c) String() string
func (m MemExtend) String() string
func (i Imm_option) String() string
func (r RegisterWithArrangementAndIndex) String() string
func (m MemImmediate) String() string
func (i Inst) String() string
func (r Reg) String() string
func (r RegSP) String() string
func (is ImmShift) String() string
func (s sysOp) String() string
func (extShift ExtShift) String() string
func (s sysInstFields) String() string
func (a Arrangement) String() (result string)
func (r PCRel) String() string
func at_sys_cr_system_cond(instr uint32) bool
func bfi_bfm_32m_bitfield_cond(instr uint32) bool
func bfi_bfm_64m_bitfield_cond(instr uint32) bool
func bfxil_bfm_32m_bitfield_cond(instr uint32) bool
func bfxil_bfm_64m_bitfield_cond(instr uint32) bool
func bfxpreferred_4(sf uint32, opc1 uint32, imms uint32, immr uint32) bool
func bit_count(x uint32) uint8
func cinc_csinc_32_condsel_cond(instr uint32) bool
func cinc_csinc_64_condsel_cond(instr uint32) bool
func cinv_csinv_32_condsel_cond(instr uint32) bool
func cinv_csinv_64_condsel_cond(instr uint32) bool
func cneg_csneg_32_condsel_cond(instr uint32) bool
func cneg_csneg_64_condsel_cond(instr uint32) bool
func csinc_general_cond(instr uint32) bool
func csinv_general_cond(instr uint32) bool
func dc_sys_cr_system_cond(instr uint32) bool
decodeArg decodes the arg described by aop from the instruction bits x. It returns nil if x cannot be decoded according to aop.
func decodeArg(aop instArg, x uint32) Arg
func extract_bit(value uint32, bit uint32) uint32
func fcvtzs_asimdshf_c_cond(instr uint32) bool
func fcvtzs_asisdshf_c_cond(instr uint32) bool
func fcvtzu_asimdshf_c_cond(instr uint32) bool
func fcvtzu_asisdshf_c_cond(instr uint32) bool
func (s sysInstFields) getAttrs() sysInstAttrs
func (s sysInstFields) getType() sys
func handle_ExtendedRegister(x uint32, has_width bool) Arg
func handle_ImmediateShiftedRegister(x uint32, max uint8, is_w bool, has_ror bool) Arg
func handle_MemExtend(x uint32, mult uint8, absent bool) Arg
func handle_bitmasks(x uint32, datasize uint8) Arg
func ic_sys_cr_system_cond(instr uint32) bool
func init()
func (MemImmediate) isArg()
func (Imm_prfop) isArg()
func (Imm_hint) isArg()
func (Imm_fp) isArg()
func (Imm_option) isArg()
func (RegisterWithArrangement) isArg()
func (Imm) isArg()
func (RegisterWithArrangementAndIndex) isArg()
func (MemExtend) isArg()
func (s sysOp) isArg()
func (Imm_clrex) isArg()
func (s sysInstFields) isArg()
func (PCRel) isArg()
func (Cond) isArg()
func (RegExtshiftAmount) isArg()
func (Systemreg) isArg()
func (Pstatefield) isArg()
func (ImmShift) isArg()
func (Imm64) isArg()
func (RegSP) isArg()
func (Imm_dcps) isArg()
func (Reg) isArg()
func (Imm_c) isArg()
func is_ones_n16(x uint32) bool
func is_zero(x uint32) bool
func lsl_ubfm_32m_bitfield_cond(instr uint32) bool
func lsl_ubfm_64m_bitfield_cond(instr uint32) bool
func mov_add_32_addsub_imm_cond(instr uint32) bool
func mov_add_64_addsub_imm_cond(instr uint32) bool
func mov_movn_32_movewide_cond(instr uint32) bool
func mov_movn_64_movewide_cond(instr uint32) bool
func mov_movz_32_movewide_cond(instr uint32) bool
func mov_movz_64_movewide_cond(instr uint32) bool
func mov_orr_32_log_imm_cond(instr uint32) bool
func mov_orr_64_log_imm_cond(instr uint32) bool
func mov_orr_asimdsame_only_cond(instr uint32) bool
func mov_umov_asimdins_w_w_cond(instr uint32) bool
func mov_umov_asimdins_x_x_cond(instr uint32) bool
func move_wide_preferred_4(sf uint32, N uint32, imms uint32, immr uint32) bool
func plan9Arg(inst *Inst, pc uint64, symname func(uint64) (string, uint64), arg Arg) string
Convert a general-purpose register to plan9 assembly format.
func plan9gpr(r Reg) string
func ror_extr_32_extract_cond(instr uint32) bool
func ror_extr_64_extract_cond(instr uint32) bool
func rshrn_asimdshf_n_cond(instr uint32) bool
func sbfiz_sbfm_32m_bitfield_cond(instr uint32) bool
func sbfiz_sbfm_64m_bitfield_cond(instr uint32) bool
func sbfx_sbfm_32m_bitfield_cond(instr uint32) bool
func sbfx_sbfm_64m_bitfield_cond(instr uint32) bool
func scvtf_asimdshf_c_cond(instr uint32) bool
func scvtf_asisdshf_c_cond(instr uint32) bool
func shl_asimdshf_r_cond(instr uint32) bool
func shl_asisdshf_r_cond(instr uint32) bool
func shrn_asimdshf_n_cond(instr uint32) bool
func sli_asimdshf_r_cond(instr uint32) bool
func sli_asisdshf_r_cond(instr uint32) bool
func sqrshrn_asimdshf_n_cond(instr uint32) bool
func sqrshrn_asisdshf_n_cond(instr uint32) bool
func sqrshrun_asimdshf_n_cond(instr uint32) bool
func sqrshrun_asisdshf_n_cond(instr uint32) bool
func sqshl_asimdshf_r_cond(instr uint32) bool
func sqshl_asisdshf_r_cond(instr uint32) bool
func sqshlu_asimdshf_r_cond(instr uint32) bool
func sqshlu_asisdshf_r_cond(instr uint32) bool
func sqshrn_asimdshf_n_cond(instr uint32) bool
func sqshrn_asisdshf_n_cond(instr uint32) bool
func sqshrun_asimdshf_n_cond(instr uint32) bool
func sqshrun_asisdshf_n_cond(instr uint32) bool
func sri_asimdshf_r_cond(instr uint32) bool
func sri_asisdshf_r_cond(instr uint32) bool
func srshr_asimdshf_r_cond(instr uint32) bool
func srshr_asisdshf_r_cond(instr uint32) bool
func srsra_asimdshf_r_cond(instr uint32) bool
func srsra_asisdshf_r_cond(instr uint32) bool
func sshll_asimdshf_l_cond(instr uint32) bool
func sshr_asimdshf_r_cond(instr uint32) bool
func sshr_asisdshf_r_cond(instr uint32) bool
func ssra_asimdshf_r_cond(instr uint32) bool
func ssra_asisdshf_r_cond(instr uint32) bool
func sxtl_sshll_asimdshf_l_cond(instr uint32) bool
func sys_op_4(op1 uint32, crn uint32, crm uint32, op2 uint32) sys
func tlbi_sys_cr_system_cond(instr uint32) bool
func ubfiz_ubfm_32m_bitfield_cond(instr uint32) bool
func ubfiz_ubfm_64m_bitfield_cond(instr uint32) bool
func ubfx_ubfm_32m_bitfield_cond(instr uint32) bool
func ubfx_ubfm_64m_bitfield_cond(instr uint32) bool
func ucvtf_asimdshf_c_cond(instr uint32) bool
func ucvtf_asisdshf_c_cond(instr uint32) bool
func uqrshrn_asimdshf_n_cond(instr uint32) bool
func uqrshrn_asisdshf_n_cond(instr uint32) bool
func uqshl_asimdshf_r_cond(instr uint32) bool
func uqshl_asisdshf_r_cond(instr uint32) bool
func uqshrn_asimdshf_n_cond(instr uint32) bool
func uqshrn_asisdshf_n_cond(instr uint32) bool
func urshr_asimdshf_r_cond(instr uint32) bool
func urshr_asisdshf_r_cond(instr uint32) bool
func ursra_asimdshf_r_cond(instr uint32) bool
func ursra_asisdshf_r_cond(instr uint32) bool
func ushll_asimdshf_l_cond(instr uint32) bool
func ushr_asimdshf_r_cond(instr uint32) bool
func ushr_asisdshf_r_cond(instr uint32) bool
func usra_asimdshf_r_cond(instr uint32) bool
func usra_asisdshf_r_cond(instr uint32) bool
func uxtl_ushll_asimdshf_l_cond(instr uint32) bool
Generated with Arrow