# title
Arm A-profile A32/T32 Instruction Set Architecture ASL1

# topic.label
Arm A-profile A32/T32 Instruction Set Architecture ASL1

# topic.topics[].topics[].label
ADC, ADCS (immediate): Add with Carry (immediate).

# topic.topics[].topics[].label
ADC, ADCS (register): Add with Carry (register).

# topic.topics[].topics[].label
ADC, ADCS (register-shifted register): Add with Carry (register-shifted register).

# topic.topics[].topics[].label
ADD (immediate, to PC): Add to PC: an alias of ADR.

# topic.topics[].topics[].label
ADD, ADDS (register-shifted register): Add (register-shifted register).

# topic.topics[].topics[].label
ADD, ADDS (SP plus immediate): Add to SP (immediate).

# topic.topics[].topics[].label
ADD, ADDS (SP plus register): Add to SP (register).

# topic.topics[].topics[].label
AND, ANDS (immediate): Bitwise AND (immediate).

# topic.topics[].topics[].label
AND, ANDS (register): Bitwise AND (register).

# topic.topics[].topics[].label
AND, ANDS (register-shifted register): Bitwise AND (register-shifted register).

# topic.topics[].topics[].label
ASR (immediate): Arithmetic Shift Right (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
ASR (register): Arithmetic Shift Right (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
ASRS (immediate): Arithmetic Shift Right, setting flags (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
ASRS (register): Arithmetic Shift Right, setting flags (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
BIC, BICS (immediate): Bitwise Bit Clear (immediate).

# topic.topics[].topics[].label
BIC, BICS (register): Bitwise Bit Clear (register).

# topic.topics[].topics[].label
BIC, BICS (register-shifted register): Bitwise Bit Clear (register-shifted register).

# topic.topics[].topics[].label
BL, BLX (immediate): Branch with Link and optional Exchange (immediate).

# topic.topics[].topics[].label
BLX (register): Branch with Link and Exchange (register).

# topic.topics[].topics[].label
BXJ: Branch and Exchange, previously Branch and Exchange Jazelle.

# topic.topics[].topics[].label
CBNZ, CBZ: Compare and Branch on Nonzero or Zero.

# topic.topics[].topics[].label
CMN (immediate): Compare Negative (immediate).

# topic.topics[].topics[].label
CMN (register): Compare Negative (register).

# topic.topics[].topics[].label
CSDB: Consumption of Speculative Data Barrier.

# topic.topics[].topics[].label
EOR, EORS (immediate): Bitwise Exclusive-OR (immediate).

# topic.topics[].topics[].label
EOR, EORS (register): Bitwise Exclusive-OR (register).

# topic.topics[].topics[].label
LDC (immediate): Load data to System register (immediate).

# topic.topics[].topics[].label
LDC (literal): Load data to System register (literal).

# topic.topics[].topics[].label
LDM (exception return): Load Multiple (exception return).

# topic.topics[].topics[].label
LDM (User registers): Load Multiple (User registers).

# topic.topics[].topics[].label
LDM, LDMIA, LDMFD: Load Multiple (Increment After, Full Descending).

# topic.topics[].topics[].label
LDMDA, LDMFA: Load Multiple Decrement After (Full Ascending).

# topic.topics[].topics[].label
LDMDB, LDMEA: Load Multiple Decrement Before (Empty Ascending).

# topic.topics[].topics[].label
LDMIB, LDMED: Load Multiple Increment Before (Empty Descending).

# topic.topics[].topics[].label
LDR (immediate): Load Register (immediate).

# topic.topics[].topics[].label
LDR (register): Load Register (register).

# topic.topics[].topics[].label
LDRB (immediate): Load Register Byte (immediate).

# topic.topics[].topics[].label
LDRB (literal): Load Register Byte (literal).

# topic.topics[].topics[].label
LDRB (register): Load Register Byte (register).

# topic.topics[].topics[].label
LDRD (immediate): Load Register Dual (immediate).

# topic.topics[].topics[].label
LDRD (literal): Load Register Dual (literal).

# topic.topics[].topics[].label
LDRD (register): Load Register Dual (register).

# topic.topics[].topics[].label
LDREXD: Load Register Exclusive Doubleword.

# topic.topics[].topics[].label
LDREXH: Load Register Exclusive Halfword.

# topic.topics[].topics[].label
LDRH (immediate): Load Register Halfword (immediate).

# topic.topics[].topics[].label
LDRH (literal): Load Register Halfword (literal).

# topic.topics[].topics[].label
LDRH (register): Load Register Halfword (register).

# topic.topics[].topics[].label
LDRHT: Load Register Halfword Unprivileged.

# topic.topics[].topics[].label
LDRSB (immediate): Load Register Signed Byte (immediate).

# topic.topics[].topics[].label
LDRSB (literal): Load Register Signed Byte (literal).

# topic.topics[].topics[].label
LDRSB (register): Load Register Signed Byte (register).

# topic.topics[].topics[].label
LDRSBT: Load Register Signed Byte Unprivileged.

# topic.topics[].topics[].label
LDRSH (immediate): Load Register Signed Halfword (immediate).

# topic.topics[].topics[].label
LDRSH (literal): Load Register Signed Halfword (literal).

# topic.topics[].topics[].label
LDRSH (register): Load Register Signed Halfword (register).

# topic.topics[].topics[].label
LDRSHT: Load Register Signed Halfword Unprivileged.

# topic.topics[].topics[].label
LSL (immediate): Logical Shift Left (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
LSL (register): Logical Shift Left (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
LSLS (immediate): Logical Shift Left, setting flags (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
LSLS (register): Logical Shift Left, setting flags (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
LSR (immediate): Logical Shift Right (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
LSR (register): Logical Shift Right (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
LSRS (immediate): Logical Shift Right, setting flags (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
LSRS (register): Logical Shift Right, setting flags (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
MCR: Move to System register from general-purpose register or execute a System instruction.

# topic.topics[].topics[].label
MCRR: Move to System register from two general-purpose registers.

# topic.topics[].topics[].label
MOV, MOVS (immediate): Move (immediate).

# topic.topics[].topics[].label
MOV, MOVS (register-shifted register): Move (register-shifted register).

# topic.topics[].topics[].label
MRC: Move to general-purpose register from System register.

# topic.topics[].topics[].label
MRRC: Move to two general-purpose registers from System register.

# topic.topics[].topics[].label
MRS: Move Special register to general-purpose register.

# topic.topics[].topics[].label
MRS (Banked register): Move Banked or Special register to general-purpose register.

# topic.topics[].topics[].label
MSR (Banked register): Move general-purpose register to Banked or Special register.

# topic.topics[].topics[].label
MSR (immediate): Move immediate value to Special register.

# topic.topics[].topics[].label
MSR (register): Move general-purpose register to Special register.

# topic.topics[].topics[].label
MVN, MVNS (immediate): Bitwise NOT (immediate).

# topic.topics[].topics[].label
MVN, MVNS (register): Bitwise NOT (register).

# topic.topics[].topics[].label
MVN, MVNS (register-shifted register): Bitwise NOT (register-shifted register).

# topic.topics[].topics[].label
ORN, ORNS (immediate): Bitwise OR NOT (immediate).

# topic.topics[].topics[].label
ORN, ORNS (register): Bitwise OR NOT (register).

# topic.topics[].topics[].label
ORR, ORRS (immediate): Bitwise OR (immediate).

# topic.topics[].topics[].label
ORR, ORRS (register): Bitwise OR (register).

# topic.topics[].topics[].label
ORR, ORRS (register-shifted register): Bitwise OR (register-shifted register).

# topic.topics[].topics[].label
PLD, PLDW (immediate): Preload Data (immediate).

# topic.topics[].topics[].label
PLD, PLDW (register): Preload Data (register).

# topic.topics[].topics[].label
PLI (immediate, literal): Preload Instruction (immediate, literal).

# topic.topics[].topics[].label
PLI (register): Preload Instruction (register).

# topic.topics[].topics[].label
POP (multiple registers): Pop Multiple Registers from Stack: an alias of LDM, LDMIA, LDMFD.

# topic.topics[].topics[].label
POP (single register): Pop Single Register from Stack: an alias of LDR (immediate).

# topic.topics[].topics[].label
PSSBB: Physical Speculative Store Bypass Barrier.

# topic.topics[].topics[].label
PUSH (multiple registers): Push multiple registers to Stack: an alias of STMDB, STMFD.

# topic.topics[].topics[].label
PUSH (single register): Push Single Register to Stack: an alias of STR (immediate).

# topic.topics[].topics[].label
QASX: Saturating Add and Subtract with Exchange.

# topic.topics[].topics[].label
QSAX: Saturating Subtract and Add with Exchange.

# topic.topics[].topics[].label
RFE, RFEDA, RFEDB, RFEIA, RFEIB: Return From Exception.

# topic.topics[].topics[].label
ROR (immediate): Rotate Right (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
ROR (register): Rotate Right (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
RORS (immediate): Rotate Right, setting flags (immediate): an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
RORS (register): Rotate Right, setting flags (register): an alias of MOV, MOVS (register-shifted register).

# topic.topics[].topics[].label
RRX: Rotate Right with Extend: an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
RRXS: Rotate Right with Extend, setting flags: an alias of MOV, MOVS (register).

# topic.topics[].topics[].label
RSB, RSBS (immediate): Reverse Subtract (immediate).

# topic.topics[].topics[].label
RSB, RSBS (register): Reverse Subtract (register).

# topic.topics[].topics[].label
RSB, RSBS (register-shifted register): Reverse Subtract (register-shifted register).

# topic.topics[].topics[].label
RSC, RSCS (immediate): Reverse Subtract with Carry (immediate).

# topic.topics[].topics[].label
RSC, RSCS (register): Reverse Subtract with Carry (register).

# topic.topics[].topics[].label
RSC, RSCS (register-shifted register): Reverse Subtract (register-shifted register).

# topic.topics[].topics[].label
SASX: Signed Add and Subtract with Exchange.

# topic.topics[].topics[].label
SBC, SBCS (immediate): Subtract with Carry (immediate).

# topic.topics[].topics[].label
SBC, SBCS (register): Subtract with Carry (register).

# topic.topics[].topics[].label
SBC, SBCS (register-shifted register): Subtract with Carry (register-shifted register).

# topic.topics[].topics[].label
SHASX: Signed Halving Add and Subtract with Exchange.

# topic.topics[].topics[].label
SHSAX: Signed Halving Subtract and Add with Exchange.

# topic.topics[].topics[].label
SMLABB, SMLABT, SMLATB, SMLATT: Signed Multiply Accumulate (halfwords).

# topic.topics[].topics[].label
SMLAD, SMLADX: Signed Multiply Accumulate Dual.

# topic.topics[].topics[].label
SMLAL, SMLALS: Signed Multiply Accumulate Long.

# topic.topics[].topics[].label
SMLALBB, SMLALBT, SMLALTB, SMLALTT: Signed Multiply Accumulate Long (halfwords).

# topic.topics[].topics[].label
SMLALD, SMLALDX: Signed Multiply Accumulate Long Dual.

# topic.topics[].topics[].label
SMLAWB, SMLAWT: Signed Multiply Accumulate (word by halfword).

# topic.topics[].topics[].label
SMLSD, SMLSDX: Signed Multiply Subtract Dual.

# topic.topics[].topics[].label
SMLSLD, SMLSLDX: Signed Multiply Subtract Long Dual.

# topic.topics[].topics[].label
SMMLA, SMMLAR: Signed Most Significant Word Multiply Accumulate.

# topic.topics[].topics[].label
SMMLS, SMMLSR: Signed Most Significant Word Multiply Subtract.

# topic.topics[].topics[].label
SMMUL, SMMULR: Signed Most Significant Word Multiply.

# topic.topics[].topics[].label
SMUAD, SMUADX: Signed Dual Multiply Add.

# topic.topics[].topics[].label
SMULBB, SMULBT, SMULTB, SMULTT: Signed Multiply (halfwords).

# topic.topics[].topics[].label
SMULWB, SMULWT: Signed Multiply (word by halfword).

# topic.topics[].topics[].label
SMUSD, SMUSDX: Signed Multiply Subtract Dual.

# topic.topics[].topics[].label
SRS, SRSDA, SRSDB, SRSIA, SRSIB: Store Return State.

# topic.topics[].topics[].label
SSAX: Signed Subtract and Add with Exchange.

# topic.topics[].topics[].label
STM (User registers): Store Multiple (User registers).

# topic.topics[].topics[].label
STM, STMIA, STMEA: Store Multiple (Increment After, Empty Ascending).

# topic.topics[].topics[].label
STMDA, STMED: Store Multiple Decrement After (Empty Descending).

# topic.topics[].topics[].label
STMDB, STMFD: Store Multiple Decrement Before (Full Descending).

# topic.topics[].topics[].label
STMIB, STMFA: Store Multiple Increment Before (Full Ascending).

# topic.topics[].topics[].label
STR (immediate): Store Register (immediate).

# topic.topics[].topics[].label
STR (register): Store Register (register).

# topic.topics[].topics[].label
STRB (immediate): Store Register Byte (immediate).

# topic.topics[].topics[].label
STRB (register): Store Register Byte (register).

# topic.topics[].topics[].label
STRBT: Store Register Byte Unprivileged.

# topic.topics[].topics[].label
STRD (immediate): Store Register Dual (immediate).

# topic.topics[].topics[].label
STRD (register): Store Register Dual (register).

# topic.topics[].topics[].label
STREXD: Store Register Exclusive Doubleword.

# topic.topics[].topics[].label
STREXH: Store Register Exclusive Halfword.

# topic.topics[].topics[].label
STRH (immediate): Store Register Halfword (immediate).

# topic.topics[].topics[].label
STRH (register): Store Register Halfword (register).

# topic.topics[].topics[].label
STRHT: Store Register Halfword Unprivileged.

# topic.topics[].topics[].label
SUB (immediate, from PC): Subtract from PC: an alias of ADR.

# topic.topics[].topics[].label
SUB, SUBS (immediate): Subtract (immediate).

# topic.topics[].topics[].label
SUB, SUBS (register): Subtract (register).

# topic.topics[].topics[].label
SUB, SUBS (SP minus immediate): Subtract from SP (immediate).

# topic.topics[].topics[].label
SUB, SUBS (SP minus register): Subtract from SP (register).

# topic.topics[].topics[].label
TBB, TBH: Table Branch Byte or Halfword.

# topic.topics[].topics[].label
TEQ (immediate): Test Equivalence (immediate).

# topic.topics[].topics[].label
TEQ (register): Test Equivalence (register).

# topic.topics[].topics[].label
UASX: Unsigned Add and Subtract with Exchange.

# topic.topics[].topics[].label
UHASX: Unsigned Halving Add and Subtract with Exchange.

# topic.topics[].topics[].label
UHSAX: Unsigned Halving Subtract and Add with Exchange.

# topic.topics[].topics[].label
UMAAL: Unsigned Multiply Accumulate Accumulate Long.

# topic.topics[].topics[].label
UMLAL, UMLALS: Unsigned Multiply Accumulate Long.

# topic.topics[].topics[].label
UQASX: Unsigned Saturating Add and Subtract with Exchange.

# topic.topics[].topics[].label
UQSAX: Unsigned Saturating Subtract and Add with Exchange.

# topic.topics[].topics[].label
UQSUB16: Unsigned Saturating Subtract 16.

# topic.topics[].topics[].label
USAD8: Unsigned Sum of Absolute Differences.

# topic.topics[].topics[].label
USADA8: Unsigned Sum of Absolute Differences and Accumulate.

# topic.topics[].topics[].label
USAX: Unsigned Subtract and Add with Exchange.

# topic.topics[].topics[].label
UXTAB16: Unsigned Extend and Add Byte 16.

# topic.topics[].topics[].label
UXTAH: Unsigned Extend and Add Halfword.

# topic.topics[].topics[].label
VABA: Vector Absolute Difference and Accumulate.

# topic.topics[].topics[].label
VABAL: Vector Absolute Difference and Accumulate Long.

# topic.topics[].topics[].label
VABD (integer): Vector Absolute Difference (integer).

# topic.topics[].topics[].label
VABDL (integer): Vector Absolute Difference Long (integer).

# topic.topics[].topics[].label
VACGE: Vector Absolute Compare Greater Than or Equal.

# topic.topics[].topics[].label
VACGT: Vector Absolute Compare Greater Than.

# topic.topics[].topics[].label
VACLE: Vector Absolute Compare Less Than or Equal: an alias of VACGE.

# topic.topics[].topics[].label
VACLT: Vector Absolute Compare Less Than: an alias of VACGT.

# topic.topics[].topics[].label
VADDHN: Vector Add and Narrow, returning High Half.

# topic.topics[].topics[].label
VAND (immediate): Vector Bitwise AND (immediate): an alias of VBIC (immediate).

# topic.topics[].topics[].label
VAND (register): Vector Bitwise AND (register).

# topic.topics[].topics[].label
VBIC (immediate): Vector Bitwise Bit Clear (immediate).

# topic.topics[].topics[].label
VBIC (register): Vector Bitwise Bit Clear (register).

# topic.topics[].topics[].label
VCEQ (immediate #0): Vector Compare Equal to Zero.

# topic.topics[].topics[].label
VCGE (immediate #0): Vector Compare Greater Than or Equal to Zero.

# topic.topics[].topics[].label
VCGE (register): Vector Compare Greater Than or Equal.

# topic.topics[].topics[].label
VCGT (immediate #0): Vector Compare Greater Than Zero.

# topic.topics[].topics[].label
VCGT (register): Vector Compare Greater Than.

# topic.topics[].topics[].label
VCLE (immediate #0): Vector Compare Less Than or Equal to Zero.

# topic.topics[].topics[].label
VCLE (register): Vector Compare Less Than or Equal: an alias of VCGE (register).

# topic.topics[].topics[].label
VCLT (immediate #0): Vector Compare Less Than Zero.

# topic.topics[].topics[].label
VCLT (register): Vector Compare Less Than: an alias of VCGT (register).

# topic.topics[].topics[].label
VCMLA: Vector Complex Multiply Accumulate.

# topic.topics[].topics[].label
VCMLA (by element): Vector Complex Multiply Accumulate (by element).

# topic.topics[].topics[].label
VCMPE: Vector Compare, raising Invalid Operation on NaN.

# topic.topics[].topics[].label
VCVT (between double-precision and single-precision): Convert between double-precision and single-precision.

# topic.topics[].topics[].label
VCVT (between floating-point and fixed-point, Advanced SIMD): Vector Convert between floating-point and fixed-point.

# topic.topics[].topics[].label
VCVT (between floating-point and fixed-point, floating-point): Convert between floating-point and fixed-point.

# topic.topics[].topics[].label
VCVT (between floating-point and integer, Advanced SIMD): Vector Convert between floating-point and integer.

# topic.topics[].topics[].label
VCVT (between half-precision and single-precision, Advanced SIMD): Vector Convert between half-precision and single-precision.

# topic.topics[].topics[].label
VCVT (floating-point to integer, floating-point): Convert floating-point to integer with Round towards Zero.

# topic.topics[].topics[].label
VCVT (from single-precision to BFloat16, Advanced SIMD): Vector Convert from single-precision to BFloat16.

# topic.topics[].topics[].label
VCVT (integer to floating-point, floating-point): Convert integer to floating-point.

# topic.topics[].topics[].label
VCVTA (Advanced SIMD): Vector Convert floating-point to integer with Round to Nearest with Ties to Away.

# topic.topics[].topics[].label
VCVTA (floating-point): Convert floating-point to integer with Round to Nearest with Ties to Away.

# topic.topics[].topics[].label
VCVTB: Convert to or from a half-precision value in the bottom half of a single-precision register.

# topic.topics[].topics[].label
VCVTB (BFloat16): Converts from a single-precision value to a BFloat16 value in the bottom half of a single-precision register.

# topic.topics[].topics[].label
VCVTM (Advanced SIMD): Vector Convert floating-point to integer with Round towards -Infinity.

# topic.topics[].topics[].label
VCVTM (floating-point): Convert floating-point to integer with Round towards -Infinity.

# topic.topics[].topics[].label
VCVTN (Advanced SIMD): Vector Convert floating-point to integer with Round to Nearest.

# topic.topics[].topics[].label
VCVTN (floating-point): Convert floating-point to integer with Round to Nearest.

# topic.topics[].topics[].label
VCVTP (Advanced SIMD): Vector Convert floating-point to integer with Round towards +Infinity.

# topic.topics[].topics[].label
VCVTP (floating-point): Convert floating-point to integer with Round towards +Infinity.

# topic.topics[].topics[].label
VCVTR: Convert floating-point to integer.

# topic.topics[].topics[].label
VCVTT: Convert to or from a half-precision value in the top half of a single-precision register.

# topic.topics[].topics[].label
VCVTT (BFloat16): Converts from a single-precision value to a BFloat16 value in the top half of a single-precision register.

# topic.topics[].topics[].label
VDOT (by element): BFloat16 floating-point indexed dot product (vector, by element).

# topic.topics[].topics[].label
VDOT (vector): BFloat16 floating-point (BF16) dot product (vector).

# topic.topics[].topics[].label
VDUP (general-purpose register): Duplicate general-purpose register to vector.

# topic.topics[].topics[].label
VDUP (scalar): Duplicate vector element to vector.

# topic.topics[].topics[].label
VEXT (multibyte elements): Vector Extract: an alias of VEXT (byte elements).

# topic.topics[].topics[].label
VFMAB, VFMAT (BFloat16, by scalar): BFloat16 floating-point widening multiply-add long (by scalar).

# topic.topics[].topics[].label
VFMAB, VFMAT (BFloat16, vector): BFloat16 floating-point widening multiply-add long (vector).

# topic.topics[].topics[].label
VFMAL (by scalar): Vector Floating-point Multiply-Add Long to accumulator (by scalar).

# topic.topics[].topics[].label
VFMAL (vector): Vector Floating-point Multiply-Add Long to accumulator (vector).

# topic.topics[].topics[].label
VFMSL (by scalar): Vector Floating-point Multiply-Subtract Long from accumulator (by scalar).

# topic.topics[].topics[].label
VFMSL (vector): Vector Floating-point Multiply-Subtract Long from accumulator (vector).

# topic.topics[].topics[].label
VFNMA: Vector Fused Negate Multiply Accumulate.

# topic.topics[].topics[].label
VFNMS: Vector Fused Negate Multiply Subtract.

# topic.topics[].topics[].label
VJCVT: Javascript Convert to signed fixed-point, rounding toward Zero.

# topic.topics[].topics[].label
VLD1 (multiple single elements): Load multiple single 1-element structures to one, two, three, or four registers.

# topic.topics[].topics[].label
VLD1 (single element to all lanes): Load single 1-element structure and replicate to all lanes of one register.

# topic.topics[].topics[].label
VLD1 (single element to one lane): Load single 1-element structure to one lane of one register.

# topic.topics[].topics[].label
VLD2 (multiple 2-element structures): Load multiple 2-element structures to two or four registers.

# topic.topics[].topics[].label
VLD2 (single 2-element structure to all lanes): Load single 2-element structure and replicate to all lanes of two registers.

# topic.topics[].topics[].label
VLD2 (single 2-element structure to one lane): Load single 2-element structure to one lane of two registers.

# topic.topics[].topics[].label
VLD3 (multiple 3-element structures): Load multiple 3-element structures to three registers.

# topic.topics[].topics[].label
VLD3 (single 3-element structure to all lanes): Load single 3-element structure and replicate to all lanes of three registers.

# topic.topics[].topics[].label
VLD3 (single 3-element structure to one lane): Load single 3-element structure to one lane of three registers.

# topic.topics[].topics[].label
VLD4 (multiple 4-element structures): Load multiple 4-element structures to four registers.

# topic.topics[].topics[].label
VLD4 (single 4-element structure to all lanes): Load single 4-element structure and replicate to all lanes of four registers.

# topic.topics[].topics[].label
VLD4 (single 4-element structure to one lane): Load single 4-element structure to one lane of four registers.

# topic.topics[].topics[].label
VLDM, VLDMDB, VLDMIA: Load Multiple SIMD&FP registers.

# topic.topics[].topics[].label
VLDR (immediate): Load SIMD&FP register (immediate).

# topic.topics[].topics[].label
VLDR (literal): Load SIMD&FP register (literal).

# topic.topics[].topics[].label
VMAX (integer): Vector Maximum (integer).

# topic.topics[].topics[].label
VMIN (integer): Vector Minimum (integer).

# topic.topics[].topics[].label
VMLA (by scalar): Vector Multiply Accumulate (by scalar).

# topic.topics[].topics[].label
VMLA (integer): Vector Multiply Accumulate (integer).

# topic.topics[].topics[].label
VMLAL (by scalar): Vector Multiply Accumulate Long (by scalar).

# topic.topics[].topics[].label
VMLAL (integer): Vector Multiply Accumulate Long (integer).

# topic.topics[].topics[].label
VMLS (by scalar): Vector Multiply Subtract (by scalar).

# topic.topics[].topics[].label
VMLS (integer): Vector Multiply Subtract (integer).

# topic.topics[].topics[].label
VMLSL (by scalar): Vector Multiply Subtract Long (by scalar).

# topic.topics[].topics[].label
VMLSL (integer): Vector Multiply Subtract Long (integer).

# topic.topics[].topics[].label
VMOV (between general-purpose register and half-precision): Copy 16 bits of a general-purpose register to or from a 32-bit SIMD&FP register.

# topic.topics[].topics[].label
VMOV (between general-purpose register and single-precision): Copy a general-purpose register to or from a 32-bit SIMD&FP register.

# topic.topics[].topics[].label
VMOV (between two general-purpose registers and a doubleword floating-point register): Copy two general-purpose registers to or from a SIMD&FP register.

# topic.topics[].topics[].label
VMOV (between two general-purpose registers and two single-precision registers): Copy two general-purpose registers to a pair of 32-bit SIMD&FP registers.

# topic.topics[].topics[].label
VMOV (general-purpose register to scalar): Copy a general-purpose register to a vector element.

# topic.topics[].topics[].label
VMOV (immediate): Copy immediate value to a SIMD&FP register.

# topic.topics[].topics[].label
VMOV (register): Copy between FP registers.

# topic.topics[].topics[].label
VMOV (register, SIMD): Copy between SIMD registers: an alias of VORR (register).

# topic.topics[].topics[].label
VMOV (scalar to general-purpose register): Copy a vector element to a general-purpose register with sign or zero extension.

# topic.topics[].topics[].label
VMRS: Move SIMD&FP Special register to general-purpose register.

# topic.topics[].topics[].label
VMSR: Move general-purpose register to SIMD&FP Special register.

# topic.topics[].topics[].label
VMUL (by scalar): Vector Multiply (by scalar).

# topic.topics[].topics[].label
VMUL (integer and polynomial): Vector Multiply (integer and polynomial).

# topic.topics[].topics[].label
VMULL (by scalar): Vector Multiply Long (by scalar).

# topic.topics[].topics[].label
VMULL (integer and polynomial): Vector Multiply Long (integer and polynomial).

# topic.topics[].topics[].label
VMVN (immediate): Vector Bitwise NOT (immediate).

# topic.topics[].topics[].label
VMVN (register): Vector Bitwise NOT (register).

# topic.topics[].topics[].label
VNMLA: Vector Negate Multiply Accumulate.

# topic.topics[].topics[].label
VORN (immediate): Vector Bitwise OR NOT (immediate): an alias of VORR (immediate).

# topic.topics[].topics[].label
VORN (register): Vector bitwise OR NOT (register).

# topic.topics[].topics[].label
VORR (immediate): Vector Bitwise OR (immediate).

# topic.topics[].topics[].label
VORR (register): Vector bitwise OR (register).

# topic.topics[].topics[].label
VPADAL: Vector Pairwise Add and Accumulate Long.

# topic.topics[].topics[].label
VPADD (integer): Vector Pairwise Add (integer).

# topic.topics[].topics[].label
VPMAX (integer): Vector Pairwise Maximum (integer).

# topic.topics[].topics[].label
VPMIN (integer): Vector Pairwise Minimum (integer).

# topic.topics[].topics[].label
VPOP: Pop SIMD&FP registers from stack: an alias of VLDM, VLDMDB, VLDMIA.

# topic.topics[].topics[].label
VPUSH: Push SIMD&FP registers to stack: an alias of VSTM, VSTMDB, VSTMIA.

# topic.topics[].topics[].label
VQDMLAL: Vector Saturating Doubling Multiply Accumulate Long.

# topic.topics[].topics[].label
VQDMLSL: Vector Saturating Doubling Multiply Subtract Long.

# topic.topics[].topics[].label
VQDMULH: Vector Saturating Doubling Multiply Returning High Half.

# topic.topics[].topics[].label
VQDMULL: Vector Saturating Doubling Multiply Long.

# topic.topics[].topics[].label
VQMOVN, VQMOVUN: Vector Saturating Move and Narrow.

# topic.topics[].topics[].label
VQRDMLAH: Vector Saturating Rounding Doubling Multiply Accumulate Returning High Half.

# topic.topics[].topics[].label
VQRDMLSH: Vector Saturating Rounding Doubling Multiply Subtract Returning High Half.

# topic.topics[].topics[].label
VQRDMULH: Vector Saturating Rounding Doubling Multiply Returning High Half.

# topic.topics[].topics[].label
VQRSHL: Vector Saturating Rounding Shift Left.

# topic.topics[].topics[].label
VQRSHRN (zero): Vector Saturating Rounding Shift Right, Narrow: an alias of VQMOVN, VQMOVUN.

# topic.topics[].topics[].label
VQRSHRN, VQRSHRUN: Vector Saturating Rounding Shift Right, Narrow.

# topic.topics[].topics[].label
VQRSHRUN (zero): Vector Saturating Rounding Shift Right, Narrow: an alias of VQMOVN, VQMOVUN.

# topic.topics[].topics[].label
VQSHL (register): Vector Saturating Shift Left (register).

# topic.topics[].topics[].label
VQSHL, VQSHLU (immediate): Vector Saturating Shift Left (immediate).

# topic.topics[].topics[].label
VQSHRN (zero): Vector Saturating Shift Right, Narrow: an alias of VQMOVN, VQMOVUN.

# topic.topics[].topics[].label
VQSHRN, VQSHRUN: Vector Saturating Shift Right, Narrow.

# topic.topics[].topics[].label
VQSHRUN (zero): Vector Saturating Shift Right, Narrow: an alias of VQMOVN, VQMOVUN.

# topic.topics[].topics[].label
VRADDHN: Vector Rounding Add and Narrow, returning High Half.

# topic.topics[].topics[].label
VRINTA (Advanced SIMD): Vector Round floating-point to integer towards Nearest with Ties to Away.

# topic.topics[].topics[].label
VRINTA (floating-point): Round floating-point to integer to Nearest with Ties to Away.

# topic.topics[].topics[].label
VRINTM (Advanced SIMD): Vector Round floating-point to integer towards -Infinity.

# topic.topics[].topics[].label
VRINTM (floating-point): Round floating-point to integer towards -Infinity.

# topic.topics[].topics[].label
VRINTN (Advanced SIMD): Vector Round floating-point to integer to Nearest.

# topic.topics[].topics[].label
VRINTN (floating-point): Round floating-point to integer to Nearest.

# topic.topics[].topics[].label
VRINTP (Advanced SIMD): Vector Round floating-point to integer towards +Infinity.

# topic.topics[].topics[].label
VRINTP (floating-point): Round floating-point to integer towards +Infinity.

# topic.topics[].topics[].label
VRINTR: Round floating-point to integer.

# topic.topics[].topics[].label
VRINTX (Advanced SIMD): Vector round floating-point to integer inexact.

# topic.topics[].topics[].label
VRINTX (floating-point): Round floating-point to integer inexact.

# topic.topics[].topics[].label
VRINTZ (Advanced SIMD): Vector round floating-point to integer towards Zero.

# topic.topics[].topics[].label
VRINTZ (floating-point): Round floating-point to integer towards Zero.

# topic.topics[].topics[].label
VRSHR (zero): Vector Rounding Shift Right: an alias of VORR (register).

# topic.topics[].topics[].label
VRSHRN: Vector Rounding Shift Right and Narrow.

# topic.topics[].topics[].label
VRSHRN (zero): Vector Rounding Shift Right and Narrow: an alias of VMOVN.

# topic.topics[].topics[].label
VRSQRTE: Vector Reciprocal Square Root Estimate.

# topic.topics[].topics[].label
VRSQRTS: Vector Reciprocal Square Root Step.

# topic.topics[].topics[].label
VRSRA: Vector Rounding Shift Right and Accumulate.

# topic.topics[].topics[].label
VRSUBHN: Vector Rounding Subtract and Narrow, returning High Half.

# topic.topics[].topics[].label
VSDOT (by element): Dot Product index form with signed integers.

# topic.topics[].topics[].label
VSDOT (vector): Dot Product vector form with signed integers.

# topic.topics[].topics[].label
VSELEQ, VSELGE, VSELGT, VSELVS: Floating-point conditional select.

# topic.topics[].topics[].label
VSHL (immediate): Vector Shift Left (immediate).

# topic.topics[].topics[].label
VSHL (register): Vector Shift Left (register).

# topic.topics[].topics[].label
VSHR (zero): Vector Shift Right: an alias of VORR (register).

# topic.topics[].topics[].label
VSHRN (zero): Vector Shift Right Narrow: an alias of VMOVN.

# topic.topics[].topics[].label
VSMMLA: Widening 8-bit signed integer matrix multiply-accumulate into 2x2 matrix.

# topic.topics[].topics[].label
VSRA: Vector Shift Right and Accumulate.

# topic.topics[].topics[].label
VST1 (multiple single elements): Store multiple single elements from one, two, three, or four registers.

# topic.topics[].topics[].label
VST1 (single element from one lane): Store single element from one lane of one register.

# topic.topics[].topics[].label
VST2 (multiple 2-element structures): Store multiple 2-element structures from two or four registers.

# topic.topics[].topics[].label
VST2 (single 2-element structure from one lane): Store single 2-element structure from one lane of two registers.

# topic.topics[].topics[].label
VST3 (multiple 3-element structures): Store multiple 3-element structures from three registers.

# topic.topics[].topics[].label
VST3 (single 3-element structure from one lane): Store single 3-element structure from one lane of three registers.

# topic.topics[].topics[].label
VST4 (multiple 4-element structures): Store multiple 4-element structures from four registers.

# topic.topics[].topics[].label
VST4 (single 4-element structure from one lane): Store single 4-element structure from one lane of four registers.

# topic.topics[].topics[].label
VSTM, VSTMDB, VSTMIA: Store multiple SIMD&FP registers.

# topic.topics[].topics[].label
VSUB (integer): Vector Subtract (integer).

# topic.topics[].topics[].label
VSUBHN: Vector Subtract and Narrow, returning High Half.

# topic.topics[].topics[].label
VSUDOT (by element): Dot Product index form with signed and unsigned integers (by element).

# topic.topics[].topics[].label
VTBL, VTBX: Vector Table Lookup and Extension.

# topic.topics[].topics[].label
VUDOT (by element): Dot Product index form with unsigned integers.

# topic.topics[].topics[].label
VUDOT (vector): Dot Product vector form with unsigned integers.

# topic.topics[].topics[].label
VUMMLA: Widening 8-bit unsigned integer matrix multiply-accumulate into 2x2 matrix.

# topic.topics[].topics[].label
VUSDOT (by element): Dot Product index form with unsigned and signed integers (by element).

# topic.topics[].topics[].label
VUSDOT (vector): Dot Product vector form with mixed-sign integers.

# topic.topics[].topics[].label
VUSMMLA: Widening 8-bit mixed integer matrix multiply-accumulate into 2x2 matrix.

# topic.topics[].topics[].label
VUZP (alias): Vector Unzip: an alias of VTRN.

# topic.topics[].topics[].label
VZIP (alias): Vector Zip: an alias of VTRN.

# topic.topics[].topics[].label
Load/Store Word, Unsigned Byte (immediate, literal)

# topic.topics[].topics[].label
Load/Store Word, Unsigned Byte (register)

# topic.topics[].topics[].label
Branch, branch with link, and block data transfer

# topic.topics[].topics[].label
System register access, Advanced SIMD, floating-point, and Supervisor call

# metadata.contentDescription
This document provides descriptions in HTML format for the A-profile A32 and T32 Instruction Set Architecture.