B1.65 ID_ISAR4, Instruction Set Attribute Register 4

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

Bit field descriptions

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

This register is Read Only.

Figure B1-50 ID_ISAR4 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.

SWP_frac, [31:28]

Indicates support for the memory system locking the bus for SWP or SWPB instructions:

0x0SWP and SWPB instructions not implemented.
PSR_M, [27:24]

Indicates the implemented M profile instructions to modify the PSRs:

0x0None implemented.
SynchPrim_frac, [23:20]

This field is used with the ID_ISAR3.SynchPrim field to indicate the implemented Synchronization Primitive instructions:

  • The LDREX and STREX instructions.
  • The CLREX, LDREXB, LDREXH, STREXB, and STREXH instructions.
  • The LDREXD and STREXD instructions.
Barrier, [19:16]

Indicates the supported Barrier instructions in the A32 and T32 instruction sets:

0x1The DMB, DSB, and ISB barrier instructions.
SMC, [15:12]

Indicates the implemented SMC instructions:

0x1The SMC instruction.
Write-Back, [11:8]

Indicates the support for Write-Back addressing modes:

0x1Core supports all the Write-Back addressing modes defined in Arm®v8‑A.
WithShifts, [7:4]

Indicates the support for instructions with shifts:

  • Support for shifts of loads and stores over the range LSL 0-3.
  • Support for other constant shift options, both on load/store and other instructions.
  • Support for register-controlled shift options.
Unpriv, [3:0]

Indicates the implemented unprivileged instructions:

  • The LDRBT, LDRT, STRBT, and STRT instructions.
  • The LDRHT, LDRSBT, LDRSHT, and STRHT instructions.

ID_ISAR4 is architecturally mapped to AArch64 register ID_ISAR4_EL1. See B2.71 ID_ISAR4_EL1, AArch32 Instruction Set Attribute Register 4, 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_ISAR3, 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.