B1.64 ID_ISAR3, Instruction Set Attribute Register 3

The ID_ISAR3 provides information about the instruction sets implemented by the core in AArch32.

Bit field descriptions

ID_ISAR3 is a 32-bit register, and is part of the Identification registers functional group.

This register is Read Only.

Figure B1-49 ID_ISAR3 bit assignments
To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


T32EE, [31:28]

Indicates the implemented Thumb Execution Environment (T32EE) instructions:

0x0None implemented.
TrueNOP, [27:24]

Indicates the implemented true NOP instructions:

0x1True NOP instructions in both the A32 and T32 instruction sets, and additional NOP-compatible hints.
T32Copy, [23:20]

Indicates the support for T32 non flag-setting MOV instructions:

0x1Support for T32 instruction set encoding T1 of the MOV (register) instruction, copying from a low register to a low register.
TabBranch, [19:16]

Indicates the implemented Table Branch instructions in the T32 instruction set.

0x1The TBB and TBH instructions.
SynchPrim, [15:12]

Used in conjunction with ID_ISAR4.SynchPrim_frac to indicate the implemented Synchronization Primitive instructions.

0x2
  • The LDREX and STREX instructions.
  • The CLREX, LDREXB, STREXB, and STREXH instructions.
  • The LDREXD and STREXD instructions.
SVC, [11:8]

Indicates the implemented SVC instructions:

0x1The SVC instruction.
SIMD, [7:4]

Indicates the implemented Single Instruction Multiple Data (SIMD) instructions.

0x3
  • The SSAT and USAT instructions, and the Q bit in the PSRs.
  • The PKHBT, PKHTB, QADD16, QADD8, QASX, QSUB16, QSUB8, QSAX, SADD16, SADD8, SASX, SEL, SHADD16, SHADD8, SHASX, SHSUB16, SHSUB8, SHSAX, SSAT16, SSUB16, SSUB8, SSAX, SXTAB16, SXTB16, UADD16, UADD8, UASX, UHADD16, UHADD8, UHASX, UHSUB16, UHSUB8, UHSAX, UQADD16, UQADD8, UQASX, UQSUB16, UQSUB8, UQSAX, USAD8, USADA8, USAT16, USUB16, USUB8, USAX, UXTAB16, UXTB16 instructions, and the GE[3:0] bits in the PSRs.
The SIMD field relates only to implemented instructions that perform SIMD operations on the general-purpose registers. In an implementation that supports Advanced SIMD and floating-point instructions, MVFR0, MVFR1, and MVFR2 give information about the implemented Advanced SIMD instructions.
Saturate, [3:0]

Indicates the implemented Saturate instructions:

0x1The QADD, QDADD, QDSUB, QSUB and the Q bit in the PSRs.
Configurations

ID_ISAR3 is architecturally mapped to AArch64 register ID_ISAR3_EL1. See B2.70 ID_ISAR3_EL1, AArch32 Instruction Set Attribute Register 3, EL1.

There is one copy of this register that is used in both Secure and Non-secure states.

Must be interpreted with ID_ISAR0, ID_ISAR1, ID_ISAR2, ID_ISAR4, and ID_ISAR5. See:

Bit fields and details not provided in this description are architecturally defined. See the Arm® Architecture Reference Manual Armv8, for Armv8-A architecture profile.

Non-ConfidentialPDF file icon PDF version100442_0200_00_en
Copyright © 2016–2018 Arm Limited or its affiliates. All rights reserved.