# title
ARM Compiler armasm Reference Guide Version 6.01

# topic.topics[].topics[].label
Operand2 as a register with optional shift

# topic.topics[].topics[].label
MRS (system coprocessor register to ARM register)

# topic.topics[].topics[].label
MSR (ARM register to system coprocessor register)

# topic.topics[].label
Advanced SIMD and Floating-point Programming (32-bit)

# topic.topics[].topics[].label
Advanced SIMD and floating-point instruction summary

# topic.topics[].topics[].label
Shared Advanced SIMD and floating-point instructions

# topic.topics[].topics[].label
Advanced SIMD logical and compare operations

# topic.topics[].topics[].label
Advanced SIMD general data processing instructions

# topic.topics[].topics[].label
Advanced SIMD general arithmetic instructions

# topic.topics[].topics[].label
Advanced SIMD load and store element and structure instructions

# topic.topics[].topics[].label
Interleaving provided by load and store, element and structure instructions

# topic.topics[].topics[].label
Alignment restrictions in load and store, element and structure instructions

# topic.topics[].topics[].label
V{Q}ADD, VADDL, VADDW, V{Q}SUB, VSUBL, and VSUBW

# topic.topics[].topics[].label
VAND, VBIC, VEOR, VORN, and VORR (register)

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

# topic.topics[].topics[].label
VCVT (from floating-point to integer, Advanced SIMD)

# topic.topics[].topics[].label
VCVT (between floating-point and integer)

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

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

# topic.topics[].topics[].label
VCVTB, VCVTT (between half-precision and double-precision)

# topic.topics[].topics[].label
VLDn and VSTn (single n-element structure to one lane)

# topic.topics[].topics[].label
VLDn (single n-element structure to all lanes)

# topic.topics[].topics[].label
VLDn and VSTn (multiple n-element structures)

# topic.topics[].topics[].label
VLDR and VSTR (post-increment and pre-decrement)

# topic.topics[].topics[].label
VMOV (between two ARM registers and one or two extension registers)

# topic.topics[].topics[].label
VMOV (between an ARM register and a scalar)

# topic.topics[].topics[].label
VMOV (between one ARM register and single precision floating-point register)

# topic.topics[].topics[].label
VMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLS

# topic.topics[].topics[].label
VMUL{L}, VMLA{L}, and VMLS{L} (by scalar)

# topic.topics[].topics[].label
VQDMULL, VQDMLAL, and VQDMLSL (by vector or by scalar)

# topic.topics[].topics[].label
VSHL, VQSHL, VQSHLU, and VSHLL (by immediate)

# topic.topics[].topics[].label
A64 general instructions in alphabetical order

# topic.topics[].topics[].label
Register restrictions for A64 instructions

# topic.topics[].topics[].label
A64 data transfer instructions in alphabetical order

# topic.topics[].topics[].label
Register restrictions for A64 instructions

# topic.topics[].topics[].label
A64 floating-point instructions in alphabetical order

# topic.topics[].topics[].label
A64 SIMD scalar instructions in alphabetical order

# topic.topics[].topics[].label
A64 SIMD vector instructions in alphabetical order

# topic.topics[].topics[].label
Instruction set and syntax selection directives

# metadata.contentDescription
This document is the ARM Compiler armasm Reference Guide. It describes armasm command-line options, A32, A64 and T32 instructions, advanced SIMD and floating-point programming (32-bit), and includes a directives and via files syntax reference.