-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A64: Add support for ARMv9.0 #9
Open
ijan1
wants to merge
90
commits into
beehive-lab:master
Choose a base branch
from
ijan1:to_merge
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Armv8.3 Load-Acquire RCpc instructions Instructions added: - LDAPR - LDAPRH - LDAPRB
Armv8.4 Load-Acquire RCpc instructions version 2 Instructions added: - STLUR - STLURB - STLURH - LDAPURB - LDAPURSB - LDAPURSH - LDAPUR - LDAPURSW
Armv8.0 Speculation Barrier Instructions added: - SB
Added instructions: - MLA (vectors) - MLS (vectors) - MAD - MSB Link to spreadsheet with added instructions: https://docs.google.com/spreadsheets/d/1YYuc-CM2gdZJpnx3xm_31EOWQ5T0cZVLmgNM6vW0I2M/edit?usp=sharing
Added instructions: - ADD (vectors, predicated) - SUB (vectors, predicated) - SUBR (vectors) - ADDPT (predicated) (FEAT_CPA) - SUBPT (predicated) (FEAT_CPA) - SMAX (vectors) - UMAX (vectors) - SMIN (vectors) - UMIN (vectors) - SABD - UABD
Added instructions: - SADDV - UADDV - ADDQV (FEAT_SVE2p1) - SMAXV - UMAXV - SMINV - UMINV - SMAXQV (FEAT_SVE2p1) - UMAXQV (FEAT_SVE2p1) - SMINQV (FEAT_SVE2p1) - UMINQV (FEAT_SVE2p1) - MOVPRFX (predicated) - ORV - EORV - ANDV - ORQV - EORQV - ANDQV
Added instructions: - ASR (immediate, predicated) - LSR (immediate, predicated) - LSL (immediate, predicated) - ASRD - SQSHL (immediate) - UQSHL (immediate) - SRSHR - URSHR - SQSHLU - ASR (vectors) - LSR (vectors) - LSL (vectors) - ASRR - LSRR - LSLR - ASR (wide elements, predicated) - LSR (wide elements, predicated) - LSL (wide elements, predicated)
Instructions added: - SXTB, SXTH, SXTW - UXTB, UXTH, UXTW - ABS - ENG - CLS, CLZ, CNT, CNOT - FABS, FNEG - NOT (VECTOR)
Instructions added: - ADD (vectors, unpredicated) - SUB (vectors, unpredicated) - SQADD (vectors, unpredicated) - UQADD (vectors, unpredicated) - SQSUB (vectors, unpredicated) - UQSUB (vectors, unpredicated) - ADDPT (unpredicated) - SUBPT (unpredicated)
Instructions added: - AND (vectors, unpredicated) - ORR (vectors, unpredicated) - EOR (vectors, unpredicated) - BIC (vectors, unpredicated) - XAR - EOR3 - BSL - BCAX - BSL1N - BSL2N - NBSL
Instructions added: - INDEX (immediates) - INDEX (scalar, immediate) - INDEX (immediate, scalar) - INDEX (scalar)
Instructions added: - ADDVL - ADDPL - RDVL - ADDSVL (FEAT_SME) - ADDSPL (FEAT_SME) - RDSVL (FEAT_SME)
Instructions added: - MUL (vectors, unpredicated) - SMULH (unpredicated) - UMULH (unpredicated) - PMUL - SQDMULH (vectors) - SQRDMULH (vectors)
- Instructions added: - ASR (wide elements, unpredicated) - LSR (wide elements, unpredicated) - LSL (wide elements, unpredicated) - ASR (immediate, unpredicated) - LSR (immediate, unpredicated) - LSL (immediate, unpredicated)
Instructions added: - ADR (Unpacked 32-bit signed offsets) - ADR (Unpacked 32-bit unsigned offsets) - ADR (Packed offsets)
Instructions added: - FTSSEL - FEXPA - MOVPRFX (unpredicated)
Instructions added: - SQINCH (vector) - UQINCH (vector) - SQDECH (vector) - UQDECH (vector) - SQINCW (vector) - UQINCW (vector) - SQDECW (vector) - UQDECW (vector) - SQINCD (vector) - UQINCD (vector) - SQDECD (vector) - UQDECD (vector) - CNTB, CNTH, CNTW, CNTD - INCD, INCH, INCW (vector) - DECD, DECH, DECW (vector) - INCB, INCD, INCH, INCW (scalar) - DECB, DECD, DECH, DECW (scalar) - SQINCB — 32-bit - UQINCB — 32-bit - SQDECB — 32-bit - UQDECB — 32-bit - SQINCB — 64-bit - UQINCB — 64-bit - SQDECB — 64-bit - UQDECB — 64-bit - SQINCH (scalar) — 32-bit - UQINCH (scalar) — 32-bit - SQDECH (scalar) — 32-bit - UQDECH (scalar) — 32-bit - SQINCH (scalar) — 64-bit - UQINCH (scalar) — 64-bit - SQDECH (scalar) — 64-bit - UQDECH (scalar) — 64-bit - SQINCW (scalar) — 32-bit - UQINCW (scalar) — 32-bit - SQDECW (scalar) — 32-bit - UQDECW (scalar) — 32-bit - SQINCW (scalar) — 64-bit - UQINCW (scalar) — 64-bit - SQDECW (scalar) — 64-bit - UQDECW (scalar) — 64-bit - SQINCD (scalar) — 32-bit - UQINCD (scalar) — 32-bit - SQDECD (scalar) — 32-bit - UQDECD (scalar) — 32-bit - SQINCD (scalar) — 64-bit - UQINCD (scalar) — 64-bit - SQDECD (scalar) — 64-bit - UQDECD (scalar) — 64-bit
Instructions added: - DUPM - ORR (immediate) - EOR (immediate) - ANd (immediate)
Instructions added: - CPY (immediate, zeroing) - CPY (immediate, merging) - FCPY
Instructions added: - DUP (indexed) - DUPQ (FEAT_SVE2p1) - EXTQ (FEAT_SVE2p1)
Instructions added: - TBL - TBX - TBXQ
Instructions added: - DUP (scalar) - INSR (scalar) - SVE move predicate from vector - SVE move predicate into vector - SVE unpack vector elements - INSR (SIMD&FP scalar) - REV (vector) - DUP (scalar) - INSR (scalar) - SVE move predicate from vector - SVE move predicate into vector - SVE unpack vector elements - INSR (SIMD&FP scalar) - REV (vector) - PMOV (to predicate) — byte FEAT_SVE2p1 - PMOV (to predicate) — halfword FEAT_SVE2p1 - PMOV (to predicate) — word FEAT_SVE2p1 - PMOV (to predicate) — doubleword FEAT_SVE2p1 - PMOV (to vector) — byte FEAT_SVE2p1 - PMOV (to vector) — halfword FEAT_SVE2p1 - PMOV (to vector) — word FEAT_SVE2p1 - PMOV (to vector) — doubleword FEAT_SVE2p1
Instructions added: - PUNPKHI, PUNPKLO - ZIP1, ZIP2 - UZP1, UZP2, - TRN1, TRN2 - REV (predicate)
Instructions added: - ZIP1, ZIP2 (vectors) - UZP1, UZP2 (vectors) - TRn1, TRN2 (vectors)
Instructions added: - CPy (SIMD&FP scalar) - COMPACT - LASTA, LASTB (scalar) - LASTA, LASTB (SIMD&FP scalar) - REVB, REVH, REVW - RBIT - CLASTA, CLASTB (vectors) - CLASTA, CLASTB (SIMD&FP scalar) - REVD (FEAT_SVE2p1) - CLASTA, CLASTB (scalar) - CPY (scalar) - SPLICE (destructive) - SPLICE (constructive)
Instructions added: - SEL (vectors)
Instructions added: - EXT (Destructive) - EXT (Constructive)
Instructions added: - ZIP1, ZIP2 (vectors) (FEAT_F64MM) - UZP1, UZP2 (vectors) (FEAT_F64MM) - TRN1, TRN2 (vectors) (FEAT_F64MM)
Instructions added: - CMP<cc> (vectors) - CMP<cc> (wide elements)
Instructions added: - CMP<cc> (immediate)
Instructions added: - FADDP - UNALLOCATED - UNALLOCATED - FMAXNMP - FMINNMP - FMAXP - FMINP
Instructions added: - FADDQV - FMAXNMQV - FMINNMQV - FMAXQV - FMINQV
Instructions added: - FMLA (indexed) — half-precision - FMLS (indexed) — half-precision - BFMLA (indexed) - BFMLS (indexed) - FMLA (indexed) — single-precision - FMLS (indexed) — single-precision - FMLA (indexed) — double-precision - FMLS (indexed) — double-precision
Instructions added: - FCMLA (indexed) - half-precision - FCMLA (indexed) - single-precision
Instructions added: - FMUL (indexed) — half-precision - BFMUL (indexed) - FMUL (indexed) — single-precision - FMUL (indexed) — double-precision
Instructions added: - FCLAMP - BFCLAMP
Instructions added: - FDOT (2-way, indexed, FP8 to FP16) - FDOT (2-way, indexed, FP16 to FP32) - BFDOT (indexed) - FDOT (4-way, indexed) - FMLALB (indexed, FP16 to FP32) - FMLALT (indexed, FP16 to FP32) - FMLSLB (indexed) - FMLSLT (indexed) - BFMLALB (indexed) - BFMLALT (indexed) - BFMLSLB (indexed) - BFMLSLT (indexed)
Instructions added: - FDOT (2-way, vectors, FP16 to FP32) - FDOT (2-way, vectors, FP8 to FP16) - BFDOT (vectors) - FDOT (4-way, vectors) - FMLALB (vectors, FP16 to FP32) - FMLALT (vectors, FP16 to FP32) - FMLSLB (vectors) - FMLSLT (vectors) - BFMLALB (vectors) - BFMLALT (vectors) - BFMLSLB (vectors) - BFMLSLT (vectors)
Instructions added: - FMLALLBB (indexed) - FMLALLBT (indexed) - FMLALLTB (indexed) - FMLALLTT (indexed)
Instructions added: - BFMMLA - FMMLA — 32-bit element - FMMLA — 64-bit element
Instructions added: - FMLALLBB (vectors) - FMLALLBT (vectors) - FMLALLTB (vectors) - FMLALLTT (vectors) - FMLALB (vectors, FP8 to FP16) - FMLALT (vectors, FP8 to FP16)
Instructions added: - FCM<cc> (vectors)
Instructions added: - FTSMUL - FRECPS - FRSQRTS - FADD (vectors, unpredicated) - FSUB (vectors, unpredicated) - FMUL (vectors, unpredicated) - BFADD (unpredicated) - BFSUB (unpredicated) - BFMUL (vectors, unpredicated)
Instructions added: - FSUBR (vectors) - FABD - FSCALE - FMULX - FDIVR - FDIV - FAMAX - FAMIN - FADD (vectors, predicated) - FSUB (vectors, predicated) - FMUL (vectors, predicated) - FMAXNM (vectors) - FMINNM (vectors) - FMAX (vectors) - FMIN (vectors) - BFADD (predicated) - BFSUB (predicated) - BFMUL (vectors, predicated) - BFMAXNM - BFMINNM - BFMAX - BFMIN - FTMAD - FADD (immediate) - FSUB (immediate) - FMUL (immediate) - FSUBR (immediate) - FMAXNM (immediate) - FMINNM (immediate) - FMAX (immediate) - FMIN (immediate)
Instructions added: - FRINT<r> - FCVTX - FCVT — single-precision to half-precision - FCVT — half-precision to single-precision - BFCVT - FCVT — double-precision to half-precision - FCVT — half-precision to double-precision - FCVT — double-precision to single-precision - FCVT — single-precision to double-precision - FRECPX - FSQRT - SCVTF — 16-bit to half-precision - UCVTF — 16-bit to half-precision - SCVTF — 32-bit to half-precision - UCVTF — 32-bit to half-precision - SCVTF — 64-bit to half-precision - UCVTF — 64-bit to half-precision - SCVTF — 32-bit to single-precision - UCVTF — 32-bit to single-precision - SCVTF — 32-bit to double-precision - UCVTF — 32-bit to double-precision - SCVTF — 64-bit to single-precision - UCVTF — 64-bit to single-precision - SCVTF — 64-bit to double-precision - UCVTF — 64-bit to double-precision - FLOGB - FCVTZS — half-precision to 16-bit - FCVTZU — half-precision to 16-bit - FCVTZS — half-precision to 32-bit - FCVTZU — half-precision to 32-bit - FCVTZS — half-precision to 64-bit - FCVTZU — half-precision to 64-bit - FCVTZS — single-precision to 32-bit - FCVTZU — single-precision to 32-bit - FCVTZS — double-precision to 32-bit - FCVTZU — double-precision to 32-bit - FCVTZS — single-precision to 64-bit - FCVTZU — single-precision to 64-bit - FCVTZS — double-precision to 64-bit - FCVTZU — double-precision to 64-bit
Instructions added: - FADDV - FMAXNMV - FMINNMV - FMAXV - FMINV
Instructions added: - F1CVT, F2CVT - BF1CVT, BF2CVT - F1CVTLT, F2CVTLT - BF1CVTLT, BF2CVTLT - FCVTN - FCVTNB - BFCVTN - FCVTNT (unpredicated) - FRECPE - FRSQRTE
Instructions added: - FCM<cc> (zero)
Instructions added: - FADDA
Instructions added: - FNMLA - FNMLS - FMLA (vectors) - FMLS (vectors) - BFMLA (vectors) - BFMLS (vectors) - FMAD - FMSB - FNMAD - FNMSB
Instructions added: - PRFB (scalar plus vector) - PRFH (scalar plus vector) - PRFW (scalar plus vector) - PRFD (scalar plus vector) - LD1SH (scalar plus vector) - LDFF1SH (scalar plus vector) - LD1H (scalar plus vector) - LDFF1H (scalar plus vector) - D1W (scalar plus vector) - DFF1W (scalar plus vector) - PRFB (scalar plus immediate) - PRFH (scalar plus immediate) - PRFW (scalar plus immediate) - PRFD (scalar plus immediate) - LD1SB (scalar plus vector) - LDFF1SB (scalar plus vector) - LD1B (scalar plus vector) - LDFF1B (scalar plus vector) - LD1SH (scalar plus vector) - LDFF1SH (scalar plus vector) - LD1H (scalar plus vector) - LDFF1H (scalar plus vector) - LD1W (scalar plus vector) - LDFF1W (scalar plus vector) - LDNT1SB - LDNT1B (vector plus scalar) - LDNT1SH - LDNT1H (vector plus scalar) - LDNT1W (vector plus scalar) - PRFB (scalar plus scalar) - PRFH (scalar plus scalar) - PRFW (scalar plus scalar) - PRFD (scalar plus scalar) - PRFB (vector plus immediate) - PRFH (vector plus immediate) - PRFW (vector plus immediate) - PRFD (vector plus immediate) - LD1SB (vector plus immediate) - LDFF1SB (vector plus immediate) - LD1B (vector plus immediate) - LDFF1B (vector plus immediate) - LD1SH (vector plus immediate) - LDFF1SH (vector plus immediate) - LD1H (vector plus immediate) - LDFF1H (vector plus immediate) - LD1W (vector plus immediate) - LDFF1W (vector plus immediate) - LD1RB — 8-bit element - LD1RB — 16-bit element - LD1RB — 32-bit element - LD1RB — 64-bit element - LD1RSW - LD1RH — 16-bit element - LD1RH — 32-bit element - LD1RH — 64-bit element - LD1RSH — 64-bit element - LD1RSH — 32-bit element - LD1RW — 32-bit element - LD1RW — 64-bit element - LD1RSB — 64-bit element - LD1RSB — 32-bit element - LD1RSB — 16-bit element - LD1RD
Instructions added: - LDNT1B (scalar plus immediate, single register) - LDNT1H (scalar plus immediate, single register) - LDNT1W (scalar plus immediate, single register) - LDNT1D (scalar plus immediate, single register) - LD1W (scalar plus immediate, single register) - LD1D (scalar plus immediate, single register) - LD2Q (scalar plus immediate) - LD3Q (scalar plus immediate) - LD4Q (scalar plus immediate) - LD1W (scalar plus scalar, single register) - LD1D (scalar plus scalar, single register) - LDNT1B (scalar plus scalar, single register) - LDNT1H (scalar plus scalar, single register) - LDNT1W (scalar plus scalar, single register) - LDNT1D (scalar plus scalar, single register) - LD2Q (scalar plus scalar) - LD3Q (scalar plus scalar) - LD4Q (scalar plus scalar) - LD2B (scalar plus immediate) - LD3B (scalar plus immediate) - LD4B (scalar plus immediate) - LD2H (scalar plus immediate) - LD3H (scalar plus immediate) - LD4H (scalar plus immediate) - LD2W (scalar plus immediate) - LD3W (scalar plus immediate) - LD4W (scalar plus immediate) - LD2D (scalar plus immediate) - LD3D (scalar plus immediate) - LD4D (scalar plus immediate) - LD2B (scalar plus scalar) - LD3B (scalar plus scalar) - LD4B (scalar plus scalar) - LD2H (scalar plus scalar) - LD3H (scalar plus scalar) - LD4H (scalar plus scalar) - LD2W (scalar plus scalar) - LD3W (scalar plus scalar) - LD4W (scalar plus scalar) - LD2D (scalar plus scalar) - LD3D (scalar plus scalar) - LD4D (scalar plus scalar) - LD1RQB (scalar plus immediate) - LD1ROB (scalar plus immediate) - LD1RQH (scalar plus immediate) - LD1ROH (scalar plus immediate) - LD1RQW (scalar plus immediate) - LD1ROW (scalar plus immediate) - LD1RQD (scalar plus immediate) - LD1ROD (scalar plus immediate) - LD1B (scalar plus immediate, single register) — 8-bit element - LD1B (scalar plus immediate, single register) — 16-bit element - LD1B (scalar plus immediate, single register) — 32-bit element - LD1B (scalar plus immediate, single register) — 64-bit element - LD1SW (scalar plus immediate) - LD1H (scalar plus immediate, single register) — 16-bit element - LD1H (scalar plus immediate, single register) — 32-bit element - LD1H (scalar plus immediate, single register) — 64-bit element - LD1SH (scalar plus immediate) — 64-bit element - LD1SH (scalar plus immediate) — 32-bit element - LD1W (scalar plus immediate, single register) — 32-bit element - LD1W (scalar plus immediate, single register) — 64-bit element - LD1SB (scalar plus immediate) — 64-bit element - LD1SB (scalar plus immediate) — 32-bit element - LD1SB (scalar plus immediate) — 16-bit element - LD1D (scalar plus immediate, single register) - LDNF1B — 8-bit element - LDNF1B — 16-bit element - LDNF1B — 32-bit element - LDNF1B — 64-bit element - LDNF1SW - LDNF1H — 16-bit element - LDNF1H — 32-bit element - LDNF1H — 64-bit element - LDNF1SH — 64-bit element - LDNF1SH — 32-bit element - LDNF1W — 32-bit element - LDNF1W — 64-bit element - LDNF1SB — 64-bit element - LDNF1SB — 32-bit element - LDNF1SB — 16-bit element - LDNF1D - LD1RQB (scalar plus scalar) - LD1ROB (scalar plus scalar) - LD1RQH (scalar plus scalar) - LD1ROH (scalar plus scalar) - LD1RQW (scalar plus scalar) - LD1ROW (scalar plus scalar) - LD1RQD (scalar plus scalar) - LD1ROD (scalar plus scalar) - LD1B (scalar plus scalar, single register) — 8-bit element - LD1B (scalar plus scalar, single register) — 16-bit element - LD1B (scalar plus scalar, single register) — 32-bit element - LD1B (scalar plus scalar, single register) — 64-bit element - LD1SW (scalar plus scalar) - LD1H (scalar plus scalar, single register) — 16-bit element - LD1H (scalar plus scalar, single register) — 32-bit element - LD1H (scalar plus scalar, single register) — 64-bit element - LD1SH (scalar plus scalar) — 64-bit element - LD1SH (scalar plus scalar) — 32-bit element - LD1W (scalar plus scalar, single register) — 32-bit element - LD1W (scalar plus scalar, single register) — 64-bit element - LD1SB (scalar plus scalar) — 64-bit element - LD1SB (scalar plus scalar) — 32-bit element - LD1SB (scalar plus scalar) — 16-bit element - LD1D (scalar plus scalar, single register) - LDFF1B (scalar plus scalar) — 8-bit element - LDFF1B (scalar plus scalar) — 16-bit element - LDFF1B (scalar plus scalar) — 32-bit element - LDFF1B (scalar plus scalar) — 64-bit element - LDFF1SW (scalar plus scalar) - LDFF1H (scalar plus scalar) — 16-bit element - LDFF1H (scalar plus scalar) — 32-bit element - LDFF1H (scalar plus scalar) — 64-bit element - LDFF1SH (scalar plus scalar) — 64-bit element - LDFF1SH (scalar plus scalar) — 32-bit element - LDFF1W (scalar plus scalar) — 32-bit element - LDFF1W (scalar plus scalar) — 64-bit element - LDFF1SB (scalar plus scalar) — 64-bit element - LDFF1SB (scalar plus scalar) — 32-bit element - LDFF1SB (scalar plus scalar) — 16-bit element - LDFF1D (scalar plus scalar)
Instructions added: - LD1Q - PRFB (scalar plus vector) - PRFH (scalar plus vector) - PRFW (scalar plus vector) - PRFD (scalar plus vector) - PRFB (scalar plus vector) - PRFH (scalar plus vector) - PRFW (scalar plus vector) - PRFD (scalar plus vector) - LD1SH (scalar plus vector) - LDFF1SH (scalar plus vector) - LD1H (scalar plus vector) - LDFF1H (scalar plus vector) - LD1SW (scalar plus vector) - LDFF1SW (scalar plus vector) - LD1W (scalar plus vector) - LDFF1W (scalar plus vector) - LD1D (scalar plus vector) - LDFF1D (scalar plus vector) - LD1SH (scalar plus vector) - LDFF1SH (scalar plus vector) - LD1H (scalar plus vector) - LDFF1H (scalar plus vector) - LD1SW (scalar plus vector) - LDFF1SW (scalar plus vector) - LD1W (scalar plus vector) - LDFF1W (scalar plus vector) - LD1D (scalar plus vector) - LDFF1D (scalar plus vector) - PRFB (vector plus immediate) - PRFH (vector plus immediate) - PRFW (vector plus immediate) - PRFD (vector plus immediate) - LDNT1SB - LDNT1B (vector plus scalar) - LDNT1SH - LDNT1H (vector plus scalar) - LDNT1SW - LDNT1W (vector plus scalar) - LDNT1D (vector plus scalar) - LD1SB (vector plus immediate) - LDFF1SB (vector plus immediate) - LD1B (vector plus immediate) - LDFF1B (vector plus immediate) - LD1SH (vector plus immediate) - LDFF1SH (vector plus immediate) - LD1H (vector plus immediate) - LDFF1H (vector plus immediate) - LD1SW (vector plus immediate) - LDFF1SW (vector plus immediate) - LD1W (vector plus immediate) - LDFF1W (vector plus immediate) - LD1D (vector plus immediate) - LDFF1D (vector plus immediate) - LD1SB (scalar plus vector) - LDFF1SB (scalar plus vector) - LD1B (scalar plus vector) - LDFF1B (scalar plus vector) - LD1SH (scalar plus vector) - LDFF1SH (scalar plus vector) - LD1H (scalar plus vector) - LDFF1H (scalar plus vector) - LD1SW (scalar plus vector) - LDFF1SW (scalar plus vector) - LD1W (scalar plus vector) - LDFF1W (scalar plus vector) - LD1D (scalar plus vector) - LDFF1D (scalar plus vector) - LD1SB (scalar plus vector) - LDFF1SB (scalar plus vector) - LD1B (scalar plus vector) - LDFF1B (scalar plus vector) - LD1SH (scalar plus vector) - LDFF1SH (scalar plus vector) - LD1H (scalar plus vector) - LDFF1H (scalar plus vector) - LD1SW (scalar plus vector) - LDFF1SW (scalar plus vector) - LD1W (scalar plus vector) - LDFF1W (scalar plus vector) - LD1D (scalar plus vector) - LDFF1D (scalar plus vector)
Instructions added: - ST2Q (scalar plus immediate) - ST3Q (scalar plus immediate) - ST4Q (scalar plus immediate) - ST2Q (scalar plus scalar) - ST3Q (scalar plus scalar) - ST4Q (scalar plus scalar) - STR (predicate) - STR (vector) - ST1B (scalar plus scalar, single register) - ST1H (scalar plus scalar, single register) - ST1W (scalar plus scalar, single register) — SVE2 - ST1W (scalar plus scalar, single register) — SVE - ST1D (scalar plus scalar, single register) — SVE2 - ST1D (scalar plus scalar, single register) — SVE
Instructions added: - ST1Q - STNT1B (vector plus scalar) - STNT1H (vector plus scalar) - STNT1W (vector plus scalar) - STNT1D (vector plus scalar) - STNT1B (vector plus scalar) - STNT1H (vector plus scalar)
- STNT1B (scalar plus scalar, single register) - STNT1H (scalar plus scalar, single register) - STNT1W (scalar plus scalar, single register) - STNT1D (scalar plus scalar, single register) - ST2B (scalar plus scalar) - ST3B (scalar plus scalar) - ST4B (scalar plus scalar) - ST2H (scalar plus scalar) - ST3H (scalar plus scalar) - ST4H (scalar plus scalar) - ST2W (scalar plus scalar) - ST3W (scalar plus scalar) - ST4W (scalar plus scalar) - ST2D (scalar plus scalar) - ST3D (scalar plus scalar) - ST4D (scalar plus scalar)
Instructions added: - ST1B (scalar plus vector) - ST1H (scalar plus vector) - ST1W (scalar plus vector) - ST1D (scalar plus vector) - ST1H (scalar plus vector) - ST1W (scalar plus vector) - ST1D (scalar plus vector) - ST1B (scalar plus vector) - ST1H (scalar plus vector) - ST1W (scalar plus vector) - ST1H (scalar plus vector) - ST1W (scalar plus vector)
Instructions added: - ST1B (scalar plus vector) - ST1H (scalar plus vector) - ST1W (scalar plus vector) - ST1D (scalar plus vector) - ST1H (scalar plus vector) - ST1W (scalar plus vector) - ST1D (scalar plus vector) - ST1B (vector plus immediate) - ST1H (vector plus immediate) - ST1W (vector plus immediate) - ST1D (vector plus immediate) - ST1B (vector plus immediate) - ST1H (vector plus immediate) - ST1W (vector plus immediate)
Instructions added: - STNT1B (scalar plus immediate, single register) - STNT1H (scalar plus immediate, single register) - STNT1W (scalar plus immediate, single register) - STNT1D (scalar plus immediate, single register) - ST2B (scalar plus immediate) - ST3B (scalar plus immediate) - ST4B (scalar plus immediate) - ST2H (scalar plus immediate) - ST3H (scalar plus immediate) - ST4H (scalar plus immediate) - ST2W (scalar plus immediate) - ST3W (scalar plus immediate) - ST4W (scalar plus immediate) - ST2D (scalar plus immediate) - ST3D (scalar plus immediate) - ST4D (scalar plus immediate) - ST1B (scalar plus immediate, single register) - ST1H (scalar plus immediate, single register) - ST1W (scalar plus immediate, single register) — SVE2 - ST1W (scalar plus immediate, single register) — SVE - ST1D (scalar plus immediate, single register) — SVE2 - ST1D (scalar plus immediate, single register) — SVE
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have added the missing instructions for ARMv9.0. Most notably SVE and SVE2 have been added.
In addition, a spreadsheet[1] has also been created for easier visualisation and some notes. for the instructions
[1] https://docs.google.com/spreadsheets/d/1jABn1_99A2nKaIqYgZTg_JrHdmxqhq-r4T9hTIFiKo0/edit?usp=sharing